在单击“排序”标题按钮之前,extjs4树子项目未显示

时间:2012-10-30 23:52:39

标签: extjs extjs4

我调用root.appendChild()将几个子节点添加到treepanel根目录并调用root.expand()来展开树,但直到我单击标题上的任何排序按钮才显示子节点。是否需要设置任何属性来以程序方式显示子节点?

感谢您的帮助。

以下是代码:

        tree.getRootNode().removeAll();

        var root = tree.setRootNode({
            PRTNUM:'root',
            id: 'treeRoot',
            leaf: false
        });

        for (var i = 0; i < result.data.length; i++) {
            var rec = result.data[i];
            var node = root.appendChild({
                PRTNUM: rec.PRTNUM,
                DESC: rec.DESC,   
                icon: this.convertTypeToIcon(rec.TYPE),
                id: rec.PRTNUM,
                leaf: true

            });
        }


        root.expand();

2 个答案:

答案 0 :(得分:2)

由于您的根节点最初没有子节点,因此它被标记为叶子。 我发现以下内容适用于最初离开的父节点,您必须以编程方式添加节点:

parentNode.set("leaf", false);  //must be set to work properly
parentNode.appendChild(newChild);
parentNode.expand();

答案 1 :(得分:1)

我发现在调用appendChild()后添加以下行修复了'tree grid',直到点击'sort'列按钮才会展开。感谢。

        root.expandChildren(true);

        root.sort(function() {});