我调用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();
答案 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() {});