1

私はExtJs 4.1を使用しています

グリッドは問題なく動作しますが、適切なページングを設定するのに問題があります。ページング ツールバーは、レコードとページの数を間違って取得します。

サーバーには合計 8 行ありますが、指定された 4 行のみが返されます。したがって、それぞれ 4 行の 2 ページになるはずです。

初期ロードのJsonは次のようになります。

{
    "value": {
        "data": [{
                "id": "user1",
                "title": "index0"
            }, {
                "id": "user2",
                "title": "index1"
            }, {
                "id": "user3",
                "title": "index2"
            }, {
                "id": "user4",
                "title": "index3"
            }
        ],
        "total": 8,
        "page": 1,
        "pages": 2,
        "pagesize": "4"
    }
}

設定

nItemsPerPage = 4;

ページングツールバー:

var oPagingToolbar = Ext.create( 'Ext.toolbar.Paging', {
            store         : oStoreUsers,
            pageSize      : nItemsPerPage,
            dock          : 'bottom',
            displayInfo   : true
         } );

私のグリッドには、ストアoStoreUsersとページング ツールバーがドッキングされています。

ストアが読み込まれます:

// tried each of the following lines for loading
// none gave me 2 pages
oStoreUsers.load( { params: { start: 0, limit: nItemsPerPage } } );
oStoreUsers.loadPage( 1 );
oStoreUsers.loadPage( 1, { params: { start: 0, limit: nItemsPerPage } } );

ストアには次のような属性があります。

root: 'value.data',
pageSize: nItemsPerPage

問題: 4 行がストアにロードされ、グリッドに表示されます。ただし、ページング ツールバーには、Page 1 of 1およびと表示されます。Displaying 1 - 4 of 4Page 1 of 2Displaying 1 - 4 of 8

それを機能させる方法は?


編集:

reader

   reader: {
           type         : 'json',
           root         : 'value.data',
           totalProperty: 'total'
        }
4

1 に答える 1