一个Ext Tree例子

一个树形菜单静态化到客户端成一个数组的测试js:
var  tree_arr = [[ 1 ,'新浪播客',' 0 '],[ 2 ,'tom',' 0 '],[ 3 ,'网易播吧',' 0 '],[ 4 ,'新浪播客子博客1',' 1 '],[ 5 ,'新浪播客子博客2',' 1 ']];

var  root = new  Ext.tree.TreeNode({
      id:
" root " ,
      text:
" 控制面板 " ,
      expanded:
true
});
var  mytree = new  Ext.tree.TreePanel({
      el:
" tree " ,
     
      animate:
true ,
      title:
" Extjs静态树 " ,
      collapsible:
true ,
      enableDD:
false ,
      enableDrag:
false ,
      rootVisible:
true ,
      autoScroll:
true ,
      trackMouseOver:
false , // false则mouseover无效果
      useArrows: false ,
      width:
150 ,
      lines:
true  
  });
function  get_root()
{
    
var  result = new  Array();
    
/*
    for(var i=0; i<tree_arr.length; i++)
        if(0 == tree_arr[i][2])
           root.appendChild(new Ext.tree.TreeNode({
                  id:tree_arr[i][0],
                 text:tree_arr[i][1]
         }));
    
*/
    
var  j = 0 ;                
     
for ( var  i = 0 ; i < tree_arr.length; i ++ ){
     
if ( 0   ==  tree_arr[i][ 2 ]){
     result[j
++ ] = tree_arr[i];
         }
     }
    
return  result;
}
function  get_sub(parentId)
{
    
var  result = new  Array();
    
/*
    for(var i=0; i<tree_arr.length; i++){
        if(0 != tree_arr[i][0]){
            //var temp=Ext.tree.getNodeById(tree_arr[i][0]);
            alert(mytree.getNodeById('1'));
            mytree.getNodeById('1').appendChild(new Ext.tree.TreeNode({
                  id:tree_arr[i][0],
                 text:tree_arr[i][1]
                             }));
        }    
    }
    
*/
    
var  j = 0 ;
    
for ( var  i = 0 ; i < tree_arr.length; i ++ ){
    
if (parentId == tree_arr[i][ 2 ]){
    result[j]
= tree_arr[i];
    j
++ ;
    }
    }
    
return  result;
}


// 生成标签页
var  tab  =   new  Ext.TabPanel({
            region:'center',
            deferredRender:
false ,
            activeTab:
0 ,
            resizeTabs:
true //  turn on tab resizing
            minTabWidth:  115 ,
            tabWidth:
135 ,
            enableTabScroll:
true
        });

Ext.onReady(
function (){
   
// layout
    var  viewport  =   new  Ext.Viewport({
        layout:'border',
        items:[
            
new  Ext.BoxComponent({
                region:'north',
                el: 'north',
                height:
80
            }),
new  Ext.BoxComponent({
                region:'south',
                el: 'south',
                height:
25
            }),{
            region:'west',
            id:'west
- panel',
            split:
true ,
            width: 
200 ,
            minSize: 
175 ,
            maxSize: 
400 ,
            margins:'
0   0   0   0 ',
            layout:'accordion',
            title:'系统菜单',
            collapsible :
true ,
            layoutConfig:{
                animate:
true
                },
            items: [
                {
                    title:'EXT控件使用',
                    border:
false ,
                    html:'
< div id = " tree-div "  style = " overflow:auto;width:100%;height:100% " ></ div > '
                    
// iconCls:'nav'
                }]
            },
        tab
// 初始标签页
         ]
    });

    
// 设置树形面板
     var  Tree  =  Ext.tree;
    
//  set the root node
     var  root  =   new  Tree.AsyncTreeNode({
        text: 'Ext JS',
        draggable:
false ,
        id:'root'
    });

var  resultRoot = get_root();
for ( var  i = 0 ;i < resultRoot.length;i ++ ){
    
var  rootNode = new  Ext.tree.TreeNode({
                  id:resultRoot[i][
0 ],
                 text:resultRoot[i][
1 ]
         });
 
var  resultSub = get_sub(resultRoot[i][ 0 ]);
 
for ( var  j = 0 ;j < resultSub.length;j ++ ){
    
var  subNode = new  Ext.tree.TreeNode({
                  id:resultSub[i][
0 ],
                 text:resultSub[i][
1 ]
         });
     rootNode.appendChild(subNode);
 }    
  root.appendChild(rootNode);
}                    

var  contextmenu = new  Ext.menu.Menu({
    id:'Context',
    items:[{
        text:'R_menu1',
        handler:
function (){
            alert('click');
        }
    }
    ]
    
});    

mytree.on('contextmenu',
function (node,e){
    e.preventDefault();
    node.select();
    contextmenu.showAt(e.getXY());
});    
    
mytree.setRootNode(root);
// 设置根节点
mytree.render();


});
Ext.fly(A) is null 开始的时候一直提示这个错误~
后来发现firebug一直提示这个错误,每次调试的时候清空下cache比较好~~~

你可能感兴趣的:(一个Ext Tree例子)