3

ExtJS バージョン: 4.1.0

次のように宣言されたリモート バッファ ストアを含む無限スクロール グリッドがあります。

Ext.define('App.store.UserGridStore', {
    extend: 'Ext.data.Store',
    autoLoad: true,
    buffered: true,
    pageSize: 30,
    leadingBufferZone:60,
    trailingBufferZone:60,
    scrollToLoadBuffer:20,
    numFromEdge:20,
    clearOnPageLoad:false,

    isSortable: true,
    remoteSort: true,
    proxy: {
        type: 'ajax',
        url: 'Service/data',
        reader: {
            type: 'json',
            root: 'data',
            noCache: true,
            successProperty: 'success',
            totalProperty: 'total'
        }
    }
});

数ページの行があるページで、ユーザーが下にスクロールしてからページ 1 に戻ると、グリッドはページ 1 を除くすべてのページを再レンダリングします (ページ 1 には空白スペースのみが表示されます)。

ストアはバックエンド サービスに対してクエリを正しく実行しているように見え、サービスは正しいデータを返します。ただし、データはグリッドにレンダリングされません。

この問題を解決するための指針はありますか? ありがとう。

4

1 に答える 1

3

この問題は、pageSize をより大きな数値 (300) に設定すると解消されました。これはおそらく、pageSize が低い (30) ために、ストアがあまりにも多くの AJAX 呼び出しを処理できなかったことが原因で発生しました。

于 2013-03-27T03:27:46.363 に答える