2017-01-03 6 views
0

Я хочу, чтобы иметь возможность фильтровать столбец на основе значений из другого столбца.Kendo Grid: Фильтровать по разному свойству, а свойство Column привязано к

Я привязал столбец к свойству идентификатора и покажу имя (используя шаблон). Когда пользователь фильтрует/сортирует, используются значения связанного свойства (ID). Я хочу использовать значения другого свойства/столбца.

Я уже понял, способ обработки сортировки (используя compare функцию kendo.ui.GridColumnSortable), но не может найти способ справиться с фильтром

PS:. Я попытался с помощью filterMemberPath и sortMemberPath, но они, кажется, только работать на стороне сервера . фильтрация/сортировка

+0

Вы фильтрации сетки с помощью кода или будет фильтроваться пользователем через сетка ui? –

+0

Through Grid UI –

+0

Включили ли вы виртуальную прокрутку? –

ответ

0

Разговаривала поддержку Кендо и нашла несколько способов справиться с этой проблемой: при использовании кендо версии 2016.3 или выше, то filter события может быть использован

filterable: true, 
filter: function(e) { 
      if (e.filter.filters[0].field == "age") { 
      e.preventDefault(); 
      this.dataSource.filter({ field: "name", operator: "startswith", value: "Jane" }); 
      } 

, но при использовании кендо версии 2016.1 или ниже, следующий подход работает, который использует filterMenuInit и связывает события нажатия на кнопку фильтра

filterable: true, 
filterMenuInit: function(e) { 
      var button = e.container.find(".k-primary"); 
      var fieldName = e.field; 
      var grid = this; 

      button.on("click", function(e) { 
      e.preventDefault() 
      grid.dataSource.filter({ field: "name", operator: "startswith", value: "Jane" }); 
      }); 

     },