Filtr KendoUI TreeView
Korzystam z widoku drzewa KendoUI i chcę dać użytkownikowi możliwość jego filtrowania. Istnieje nawet demo, które robi to, co chcę (http://demos.kendoui.com/web/treeview/api.html)
Problem polega na tym, że filtr jest stosowany tylko do pierwszej hierarchii TreeView, więc jeśli tekst filtru jest obecny w dziecku, ale nie w rodzicu, to dziecko nie będzie wyświetlane.
Przykład:
Przedmiot 1Pozycja 2Przedmiot xzyPozycja abcGdyby tekst wyszukiwania był „abc”, żaden element nie byłby wyświetlany. Zamiast tego chciałbym uzyskać następujący wynik:
Pozycja 2Pozycja abcCzy ktoś wie jak to zrobić? To jest kod, którego używam:
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);