我们的TreeGrid有一个调用此方法的搜索过滤器
var aCriteria = {
_constructor: "AdvancedCriteria",
operator: "and",
criteria: [
{ fieldName: "EntityName", value:entityFilterFindForm.getValue("find"), operator: "iContains" }
]
};
this.creator.entityFilterTree.setCriteria(aCriteria);
这非常适合显示目标节点和目标节点的所有父节点。不幸的是,这给出了目标节点没有子节点的错觉,是否仍然可以扩展目标节点的子节点?
更新
我们的解决方案是包含一个来自SQL的管道分隔的祖先值,并在我们的搜索条件中包含该参数。这样我们的搜索结果的子项就会被包括在内,因为搜索字符串是在他们的祖先字符串中找到的。
答案 0 :(得分:1)
我从未尝试过,但是在阅读Tree.getFilteredTree的文档时,我看到了一个参数' filterMode',它有两个有效值:
"严格"仅显示实际匹配条件的节点。如果父母与标准不匹配,即使其子项符合条件
,也不会显示" keepParents"如果父节点具有符合条件的子节点,则保留父节点;如果父节点尚未加载子节点,则保存在具有loadDataOnDemand的树中:true。
也许keepParents可以为您的用例工作?
抱歉,我刚刚意识到你已经有了父母,但是你想要孩子。 您是否已经尝试过调用Tree.loadChildren或reloadChildren?