我正在使用 KendoUI 的树视图,并希望让用户能够过滤它。甚至有一个演示可以满足我的要求(http://demos.kendoui.com/web/treeview/api.html)
问题是过滤器仅适用于 TreeView 的第一个层次结构,因此如果过滤器文本存在于子项中但不存在于父项中,则不会显示子项。
例子:
- 项目 1
- 第 2 项
- 项目 xzy
- 项目 abc
如果搜索文本为“abc”,则不会显示任何项目。相反,我希望得到以下结果:
- 第 2 项
- 项目 abc
有谁知道如何做到这一点?这是我正在使用的代码:
var tree_view_data = new kendo.data.HierarchicalDataSource({
transport: {
read: {
url: "getall/items",
dataType: "json"
}
},
schema: {
model: {
children: "ChildItems"
}
}
});
//init tree view itself
var $treeview = $("#div-treeview").kendoTreeView({
dataSource: tree_view_data,
dataTextField: [ "Text", "ChildrenText" ]
});
//allow filter of navigation tree
var refreshTree = function () {
tree_view_data.filter({
field: "Text", //if I would use "ChildrenText" here nothing be displayed at all if filtertext is set
operator: "contains",
value: $("#tree-text-search").val()
});
};
$("#tree-text-search").change(refreshTree).keyup(refreshTree);