0

10000 レコードのグリッドがあります。グリッドにデータを入力するストアを読み取って、グリッド データを取得しようとしています。しかし、ストアからすべてのデータを読み取ることができません。代わりに、5000 レコードのみが取得されています。ExtJs4に制限はありますか? 以下のコード スニペットを参照してください。

ここにコードを入力してください

    onDownloadXLS : function(btn, e) {
        var store = this.getGridStoreStore();
        alert(store.getCount());// This is returning only 5000 rows not 10000.
        var records = store.data.items.map(function(r){ return r.data });
    }

    Ext.define('MyApp.store.GridStore', {
    extend: 'Ext.data.Store',
    model: 'MyApp.model.GridModel',
    proxy: {
        type: 'ajax',
        url: "data/test.json",
        reader: {
            type: 'json', 
            root: 'performance'
        }
    },
    sorters: {property: 'uploadedDate', direction: 'DESC'},
    groupField: 'uploadedDate',
    autoLoad: true
});
4

1 に答える 1

3

ここで私があなたに与えることができる唯一の答えは、ブラウザアプリケーションがその量のデータを決してロードしてはならないということです。大量のデータを強制的にロードする場合は、設計上の問題があります。

グリッドの場合は、ページングまたは無限スクロール(バッファ付きストアを使用)のいずれかを使用し、すべての並べ替えおよび検索/フィルター操作をサーバーに委任する必要があります。

基本的に制限はありません。6000を超えるレコードを使用した無限スクロールのこのSenchaの例を参照してください。

于 2013-01-11T07:31:56.883 に答える