Javascript KendoUI Grid alter过滤器和排序一次刷新
我正在尝试设置筛选和排序参数,并一次性更新我的网格,而不是两个单独的调用,例如:Javascript KendoUI Grid alter过滤器和排序一次刷新,javascript,jquery,kendo-ui,kendo-grid,Javascript,Jquery,Kendo Ui,Kendo Grid,我正在尝试设置筛选和排序参数,并一次性更新我的网格,而不是两个单独的调用,例如: grid.dataSource.filter({ field: 'branchId', operator: 'eq', value: selectedBranchId }); grid.dataSource.sort({ field: 'id', dir: 'desc' }); 我试过: grid.dataSource.data({ filter: {
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
要将多个操作合并为一个操作,请使用方法。就是您所需要的 另一种解决方法是间接设置筛选和排序,然后在需要时调用fetch方法:
dataSource._filter = yourFilter;
dataSource._sort = yourSort;
dataSource.fetch();
第二种情况在您的数据源已经包含诸如page、take、skip之类的查询设置时可能很有用。它们将被查询方法覆盖,但通过间接设置筛选/排序来保持不变。这对我来说是一个更好的选择。查询毁了我们的跳转选项。