3

ストアから 1 行のデータを取得する代わりに、次のコードを変更してすべてのレコードを取得するにはどうすればよいですか?

var store = Ext.data.StoreManager.lookup('MyStore');
        store.setProxy({
            type: 'pagingmemory',
            data: store.getAt(0)
          });
        store.load();

何かご意見は?

4

4 に答える 4

8

使用することも、使用するstore.getRange()こともできますstore.data.items。呼び出しの場合getRange()、パラメーターを渡さないと、デフォルトで 0 とストア内の最後のレコードになります。

于 2013-08-20T18:23:23.123 に答える
0
store.getRange()

グリッドがバッファリングされたストアを持つように定義されていない場合にのみ、現在作業中のページを取得します。ストアは、次の方法でバッファリングされるように設定できます。

(buffered: true)

ただし、1 つのページを取得してもページ全体がバッファリングされるため、パフォーマンスが低下します。

私の頭に浮かぶ最も効率的な方法は次のとおりです。

    var pageSize = store.pageSize // will return the page size.
    var totalCount = store.totalCount // This will return total no of items

    for (var i=0; i<(totalCount/pageSize)+1;i++) {
         store.loadPage(i) // this will set the current page of the store to i variable.  
         ....
         ....
    }
于 2015-11-18T16:43:30.807 に答える