2

ノックアウト剣道kendoGridバインディングを使用してグリッドをフィルタリングする適切な方法は何ですか?

私は現在、計算された配列にバインドすることでグリッドをフィルタリングしています。これには、次のテクニックを使用します: KnockoutJS のユーティリティ関数- 「配列のフィルタリング」を参照してください。

self.filteredItems = ko.dependentObservable(function() {

    var filter = self.filter().toLowerCase();
    if (!filter) {
        return self.items();
    } else {
        return ko.utils.arrayFilter(self.items(), function(item) {
             return item.name().toLowerCase().indexOf(filter) !== -1;
        });
    }
}, self);

これは機能しますが、ページ #1 にいない場合、グリッドはページ #1 にリセットされません。そのため、結果の「ページ」が検索結果よりも少ない場合、グリッドは次のページに移動するまで空白になります。ページ1。

問題を確認するには、 1. この JSFIDDLE - http://jsfiddle.net/xW9yc/11/ に移動します。 2. 3 ページに移動します。 3. 検索入力に「P」を入力します。

4

2 に答える 2

1

kendo javascript api を使用することに抵抗がない場合は、次の操作を実行できます。

var grid = $("#MyGrid").data("kendoGrid");
            if(grid)
            {
            grid.dataSource.page(1);
            }

[編集されたjsfiddle] ( http://jsfiddle.net/3CrMR/ )

これが役立つことを願っています!

于 2014-05-08T20:22:41.950 に答える