0

メモリに存在するキャッシュされたレコードを超えて、リモート/プロキシ ストアからレコードを取得できる必要があります。Extでこれを行う方法はありますか?ドキュメントはあまり役に立ちませんでした。

したがって、ページングまたはバッファリングされたスクロールで問題なく動作する通常のストアがあります

store = Ext.create('Ext.data.DirectStore', {
    autoLoad: true,
    pageSize: 30,
    remoteFilter: true,
    remoteSort: true,
    proxy: Ext.create('Ext.data.proxy.Direct', {...});
}

私のストアには現在 97 個のアイテムがありますが、キャッシュされているのは 30 個だけです

console.log('store',store.getTotalCount()); // outputs 97
console.log('RANGE', store.getRange().length); // outputs 30
var count = 0;
store.queryBy(function (record) {
    console.log(++count); // outputs 0 -> 30
    return true;
});

そのため、関数にどのようなロジックを入れても、queryByキャッシュされた 30 レコードのみがテストされます。ストアfilterByの設定を使用してみましたが、これは同じ結果になります。remoteFilterそれで、私が試すことができる他のテクニックはありますか?

4

1 に答える 1

0

ExtJS を使用してからしばらく経ちましたが、ExtJS を使用store.getRange()して必要な動作を取得できると思います (引数なしで、ストアの完全なコンテンツを返す必要があります)。ドキュメントによると、これにはフィルタリングが考慮されているため、必要なレコードのセットを取得するために必要なフィルターを適用できるはずです。

于 2013-09-12T00:03:50.187 に答える