2014-10-14 3 views
0

У меня есть простой древовидный вид с иерархическими данными на 3 уровне в глубину.Как сделать глубокую фильтрацию в kendoui HierarchicalDataSource?

Загружаю все данные на странице загрузки. У меня есть простой схемы

model: { 
    hasChildren: function (item) { 
     return item.items && item.items.length > 0; 
    }, 
    id: "id", 
    children: "items" 
} 

По умолчанию фильтр работать только на первом уровне, как я могу изменить эту логику?

+0

ли вы найти решение для этого? – TCM

ответ

1

Не уверен, что вы имеете в виду, но фильтр по умолчанию не работает только на первом уровне. Проверьте следующий пример, где я показываю все, что начинается с «F». Вы увидите, что он показывает корень и узел на первом уровне. То, что он не показывает, - это узлы ниже узла, который не соответствует условию запуска с «F», но это то, что я ожидал.

var inlineDefault = new kendo.data.HierarchicalDataSource({ 
 
    data: [ 
 
    { 
 
     text: "Full", 
 
     items: [ 
 
     { 
 
      text: "Furniture", 
 
      items: [ 
 
      { text: "Tables & Chairs" }, 
 
      { text: "Sofas" }, 
 
      { text: "Occasional Furniture" } 
 
      ] 
 
     }, 
 
     { 
 
      text: "Decor", 
 
      items: [ 
 
      { text: "Bed Linen" }, 
 
      { text: "Curtains & Blinds" }, 
 
      { text: "Carpets" } 
 
      ] 
 
     } 
 
     ] 
 
    } 
 
    ], 
 
    filter: { field: "text", operator: "startswith", value: "F" } 
 

 
}); 
 

 
$("#treeview-left").kendoTreeView({ 
 
    dataSource: inlineDefault 
 
});
<link href="http://cdn.kendostatic.com/2014.2.1008/styles/kendo.common.min.css" rel="stylesheet" /> 
 
<link href="http://cdn.kendostatic.com/2014.2.1008/styles/kendo.default.min.css" rel="stylesheet" /> 
 
<script src="http://cdn.kendostatic.com/2014.2.1008/js/jquery.min.js"></script> 
 
<script src="http://cdn.kendostatic.com/2014.2.1008/js/kendo.all.min.js"></script> 
 

 
<div id="treeview-left"></div>

+0

Этот фильтр не ищет все уровни, он просто ищет первый уровень, и если вы разворачиваете первый уровень, это показывает фильтр. – Mediator