Ext中tree的研究

新建一棵树

var  Tree  =  Ext.tree;    
var  tree1  =   new  Tree.TreePanel( {
    el:'tree
-content-div',
    border:
false,
    autoScroll:
true,
    animate:
true,
    enableDD:
true,
    containerScroll: 
true,
    rootVisible:
false,
  loader: 
new Tree.TreeLoader({
        dataUrl:'RemoteHandlers
/GetContentMenu.aspx'
     }
)
}
);                            
tree1.on('click', 
function  (node) {    
if(node.isLeaf()){
   Ext.get('center
-iframe').dom.src = node.attributes.hrefTarget; }
else{
   node.toggle(); }
  
}
);
            
// tree1.on('beforeload', function (node){ 
//
tree1.loader.dataUrl = 'RemoteHandlers/GetSystemMenu.aspx';
//
});
            
var  root1  =   new  Tree.AsyncTreeNode( {
    text: '内容管理',
    draggable:
false,
    id:'source1'
}
);
                    
tree1.setRootNode(root1);
tree1.render();
root1.expand();

rootVisible:指是否显示根节点


#2008-04-21#
TreeLoader其实就是一个类似JSON的数据
关于JSON的生成,其实网上有很多现成的类可以使用,大家可以到http://www.json.org/去看看,里面有针对不同的语言的生成方式等!
但是要注意的是JSON数据的字段名称的单引号或者双引号不能要,如:

strs.Append( " [ " ); 
foreach  (ModuleType mt  in  ilModuleType) 

strs.Append(
"{"); 
strs.Append(
"id:'" + mt.Id + "',"); 
strs.Append(
"text:'" + mt.Name + "',"); 
strs.Append(
"leaf:false"); 
AddSubNodes(mt, s, strs); //添加子节点
strs.Append(
"},"); 
}
 
tmp 
=  strs.ToString(); 
tmp 
=  tmp.Replace( " }{ " " },{ " ); 
tmp 
=  (tmp.Substring(tmp.Length  -   1 ==   " , " ?  tmp.Substring( 0 ,tmp.Length - 1 ) + " ] "  :  ""

注意:上面的ModuleType 和 ilModuleType都是我的对象或者变量

 

你可能感兴趣的:(tree)