extjs treepanel:expand()& expandChildNodes()

时间:2011-04-14 21:32:38

标签: extjs nodes expand treenode treepanel

如果我写:

rootNode.expand()

我只能访问此rootNode的子节点,但无法访问此rootNode的孙子节点。我必须写:

rootNode.expandChildNodes()

为了实现它。

即使树倒塌,还有其他方法可以获得孙子节点或更多子节点吗?除了使用node.eachChild()功能? 我试过了:

rootChildNode.firstChild

但它不起作用。

3 个答案:

答案 0 :(得分:2)

ExtJS 4x在Tree Panel组件上有expandAll()方法。这将以递归方式扩展每个节点。

答案 1 :(得分:0)

如果您希望扩展到特定级别,那么在这种情况下:

           expandTo:function(level){

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

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

答案 2 :(得分:0)

获取后代的另一种方法是使用node.expand(true),其中node是根节点。同样,您可以使用树中的任何节点并使用相同的代码展开其所有后代节点。常见用法适用于所选节点。