2013-02-25 3 views
4

Я пытаюсь установить фильтр и сортировать параметры и обновить сетку в один идти вместо двух отдельных вызовов, таких как:KendoUI сетки изменить фильтр и сортировку в одном обновлении

grid.dataSource.filter({ 
    field: 'branchId', 
    operator: 'eq', 
    value: selectedBranchId 
}); 
grid.dataSource.sort({ 
    field: 'id', 
    dir: 'desc' 
}); 

Я пробовал:

grid.dataSource.data({ 
    filter: { 
     field: 'branchId', 
     operator: 'eq', 
     value: selectedBranchId 
    }, 
    sort: { 
     field: 'id', 
     dir: 'desc' 
    } 
}) 
    grid.dataSource.read(); 
    grid.refresh(); 

который не работает и дает мне следующую ошибку в консоли:

Uncaught TypeError: Cannot read property 'slice' of null in kendo.all.min.js:13 

ответ

4

Чтобы объединить несколько операций в одном использовании query метод.

+0

Спасибо, отлично! – imperium2335

0

query является то, что вам нужно.

Другой обходной путь установлен фильтр и сортировка косвенно, а затем вызвать при необходимости метод выборки:

dataSource._filter = yourFilter; 
dataSource._sort = yourSort; 
dataSource.fetch(); 

второй случай может оказаться полезным, если DataSource уже содержит параметры запроса, как страницы, принять, пропустить. Они будут перезаписаны методом запроса, но сохраняются одинаково с помощью фильтра настроек/сортировки косвенно.