Extjs Grid Paging bar问题

时间:2010-11-11 10:46:14

标签: extjs

当我从最后一页删除最终记录时,我收到分页问题,​​如何解决分页问题,​​请查看我附加的屏幕截图。

alt text

在Store保存事件中,我将重新加载商店以更新网格以进行远程排序。

像这样

var fGridStore = new Ext.data.Store({       
    proxy:ApGrpFGrdProxy,                       
    autoLoad :false,
    autoSave:false,
    idProperty:'airBasicIndex',
    baseParams:{start:0, limit:25}, 
    reader:firstGridreader,
    writer: fssuperGrdWriter,
    listeners:{

                save  :function ( St,  records, options ){
                    St.reload();                        
                    }
        },
    remoteSort:true
});  

在网格中..

bbar: new Ext.PagingToolbar({
                    pageSize: 25,
                    store: fGridStore,
                    displayInfo: true,                      
                    emptyMsg: "No records to display"
                }),

如果您查看我的屏幕截图..当我删除最后一页中的最终记录时,将显示4页中的5页。当我删除最后一页中的最终记录时,我可以移动到上一页

提前致谢

2 个答案:

答案 0 :(得分:1)

您是否尝试使用工具栏上的moveLast()方法导航以转到最后一页?

API Docs for PagingToolbar.moveLast()

答案 1 :(得分:0)

我认为在这种情况下的最佳做法是返回每个请求的总行数。 删除操作后,您应该重新加载您的商店。 然后,您可以将阅读器配置为使用总行数。 然后问题会自动消失。 请参阅Ext.data.JsonReader API Doc。

var myReader = new
Ext.data.JsonReader({
// metadata configuration options:
 idProperty: 'id'
 root: 'rows',
 totalProperty: 'results',
 Ext.data.DataReader.messageProperty:
 "msg"  // The element within the
 response that provides a user-feedback
 message (optional)

     // the fields config option will internally create an Ext.data.Record
     // constructor that provides mapping for reading the record data
 objects
     fields: [
         // map Record's 'firstname' field to data object's key of same
 name
         {name: 'name'},
         // map Record's 'job' field to data object's 'occupation' key
         {name: 'job', mapping: 'occupation'}
     ] });