私は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 4
Page 1 of 2
Displaying 1 - 4 of 8
それを機能させる方法は?
編集:
reader
reader: {
type : 'json',
root : 'value.data',
totalProperty: 'total'
}