4

複数のフィールドでデータソースをフィルタリングしようとしています。グリッドに Kendo Multi フィルター チェックボックス オプションがあります。すべての列のすべての剣道マルチ フィルターを初期化します。

その後、このような javascipt 関数を使用してフィルターを適用し、グリッドのデータをフィルター処理されたデータとして設定します。

function filterGrid() {
    var grid = $("#grid").data('kendoGrid');
    var filter = [];
    filter.push({ field: "ratingPlace", operator: "startswith", value: "US" });
    grid.dataSource.filter(filter);
    grid.dataSource.data(grid.dataSource.view());
}

したがって、関数はフィルターをグリッドに適用します。Kendo マルチ フィルタ オプションをクリックすると、古いデータソースのすべてのデータがフィルタ リストに表示されるようになりました。

どうすればこれを回避できますか? dataSource アイテム全体ではなく、フィルター処理されたリストでのみフィルター処理されたデータのみを使用できるようにする必要があります。filterGrid() 関数を実行した後に剣道の複数のチェックボックス フィルターを初期化すると、この問題は発生しません。各列の ("kendoFilterMultiCheck") のソースを再初期化する方法はありますか?? 同じことを示すためにjsfiddleの例を添付しました。

1) 最初に最初の dataSource で列ヘッダーをクリックして、すべてのフィルター マルチ チェックボックスを初期化します 2) フィルター ボタンをクリックします 3) dataSource を置き換えます 4) 新しい dataSource でフィルター マルチ チェックをクリックします - 古いフィルター データがリストに表示されます

http://jsfiddle.net/Sbb5Z/1712/

4

2 に答える 2