问题 : 采用Ext分页显示数据时我遇到了这样的问题,比如在第5页编辑完一条记录,数据重新加载之后页面会返回到第1页,给人感觉不是很舒服。
原因:grid的jsp文件中有如下定义
var dataStore = new Ext.data.Store({
proxy : dataProxy,
reader : dataReader,
id : "id",
baseParams : {
start : 0,
limit : basicDataObjectGrid.limit
}
});
而在使用grid.getStore().load();加载数据时,会默然传入baseParams中的参数start=0,即加载第一页的数据。
补充:
获取当前页的start和limit参数,在加载数据时作为load参数传入。
var start = grid.getBottomToolbar().cursor;
var limit = grid.getBottomToolbar().pageSize;
grid.getStore().reload({params : {start :start, limit : limit}});
// 或者使用load()方法
//grid.getStore().load({params : {start :start, limit : limit}});
//该处命令是在初次加载页面时加载的参数和reload时的参数
store.baseParams.page=1;
store.load();
也可以使用setBaseParam方法,其使用方法如下:
store.setBaseParam('page',1);
store.load();