4

我正在尝试设置过滤器和排序参数并一次更新我的网格,而不是两个单独的调用,例如:

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

2 回答 2

4

要将多个操作合并为一个,请使用查询方法。

于 2013-02-25T18:30:16.880 回答
1

查询是您需要的。

另一种解决方法是间接设置过滤器和排序,然后在需要时调用 fetch 方法:

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

当您的 dataSource 已经包含诸如 page、take、skip 之类的查询设置时,第二种情况可能很有用。它们将被查询方法覆盖,但通过间接设置过滤器/排序保持不变。

于 2015-08-25T05:14:35.133 回答