0

グリッド内のページごとに15レコードを読み込もうとしてpageSize : 15,います。サーバーから正確に15ページが送信されています。問題は、グリッド内の次のページボタンが無効になっていることです。

店 :

Ext.define('UserStore', {    
extend: 'Ext.data.Store',
model: 'UserModel',
autoLoad : true,
pageSize : 15,
remoteSort: true,
proxy: {
    type: 'ajax',
    url: 'url/to/servlet',
    reader: {
        type: 'json',
        root: 'data',
        totalProperty: 'total'
    },
    writer: {
        type : 'json',
        root: 'data'    
    },
    actionMethods: {
        read   : 'POST',
        create : 'POST',
        update : 'POST',
        destroy: 'POST'
    },
    extraParams : {
        data : 'Blank',
    }

},
sortOnLoad: true,
sorters: { property: 'dateTime', direction : 'DESC' },

});

グリッド:

xtype : 'gridpanel',
store : mystore,
height : 350,
columns : [ {
          dataIndex : 'firstName',
          text      : 'First Name',
          flex      : 1
        },{
          dataIndex : 'lastName',
          text      : 'Last Name',
          flex      : 1
        },{
          dataIndex : 'email',
          text      : 'Email',
          flex      : 1  
 }],
 dockedItems : [ {
    xtype : 'pagingtoolbar',
    hight : 28,
    displayInfo : true,
    dock : 'bottom'
} ]

グリッドの読み込み: 3つの方法をテストしました:

  • grid.getStore().loadPage(1);
  • grid.getStore().load({ params:{start : 0, limit : 15}});
  • grid.getStore().load();

編集 ここに画像の説明を入力してください

4

1 に答える 1

0

ほとんどの場合、サーバーから受信したデータからtotalCountプロパティが欠落していることが原因です。このようにして、グリッドはページネーションツールバーを計算します。

于 2012-06-01T11:34:09.913 に答える