4

次のような 2 つの個別の呼び出しではなく、フィルターと並べ替えのパラメーターを設定し、グリッドを一度に更新しようとしています。

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

複数の操作を 1 つにまとめるには、queryメソッドを使用します。

于 2013-02-25T18:30:16.880 に答える
1

クエリが必要です。

もう 1 つの回避策は、フィルターと並べ替えを間接的に設定し、必要に応じて fetch メソッドを呼び出すことです。

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

2 番目のケースは、dataSource に page、take、skip などのクエリ設定が既に含まれている場合に役立ちます。これらはクエリ メソッドによって上書きされますが、間接的にフィルター/並べ替えを設定することで同じままになります。

于 2015-08-25T05:14:35.133 に答える