2010-09-01 14 views
3

J'ai créé cet arbre simple:Comment ajouter des cases à cocher à Ext.tree.TreePanel?

var children = [{ 
     text:'My Layers', 
     children:[ 
      new Ext.tree.TreeNode({text:'test1',leaf:true}), 
      new Ext.tree.TreeNode({text:'test2',leaf:true}) 
     ] 
    }]; 
    var tree = new Ext.tree.TreePanel({ 
     loader:new Ext.tree.TreeLoader(), 
     width:150, 
     title:'Layers', 
     height:250, 
     collapsible:true, 
     rootVisible:false, 
     root: new Ext.tree.AsyncTreeNode({ 
      expanded:true, 
      leaf:false, 
      text:'Tree Root', 
      children:children 
     }) 
    }); 

Comment puis-je ajouter un checkbox à chaque nœud?

En fait, je vais passer la liste en tant que paramètre à la fonction dans un tableau JSON (par exemple [ « test1 », « test2 »]). Quelle est la méthode appropriée pour charger des nœuds à partir de données JSON?

J'utilise ExtJs 2.3 avec GeoExt.

À la votre!

Répondre

2

Vous pouvez définir 'checked: true/false' au niveau du noeud pour cocher la case. Initialement, il est défini sur null.

var children = [{ 
    text:'My Layers', 
    children:[ 
     new Ext.tree.TreeNode({text:'test1',leaf:true, **checked: true**}), 
     new Ext.tree.TreeNode({text:'test2',leaf:true, **checked: false**}) 
    ] 
}];