2011-04-14 10 views
5

si escribo:extjs treepanel: ampliar() y() expandChildNodes

rootNode.expand() 

sólo puedo tener acceso a los nodos hijos de este rootNode, pero no puedo tener acceso a los nietos nodos de esta rootNode . Tengo que escribir:

rootNode.expandChildNodes() 

para lograrlo.

¿Hay alguna otra manera de obtener los nietos o los nodos secundarios adicionales incluso si el árbol está colapsado? aparte de usar la función node.eachChild()? Traté:

rootChildNode.firstChild 

pero no funciona.

Respuesta

2

ExtJS 4x tiene el método expandAll() en el componente Tree Panel. Esto expandirá cada nodo recursivamente.

0

si desea ampliar a un nivel partcular entonces en ese caso:

  expandTo:function(level){ 

        treePanel.collapseAll(); 
        treePanel.getRootNode().cascadeBy(function (node) { 

          if (node.getDepth() < level) { node.expand(); } 
          if (node.getDepth() == level) { return false; } 
        }); 
     } 
0

Otra forma de llegar a los descendientes es utilizar node.expand(true), donde nodo es el nodo raíz. De manera similar, puede tomar cualquier nodo dentro del árbol y expandir todos sus nodos descendientes usando este mismo código. Un uso común es para el nodo seleccionado.