GridPanel中分页数很多,在当前页中刷新又会回到第一页,每次这样总是很麻烦。。。怎么才能只刷新当前页呢?苦苦在源码中找寻,经测试,终于找到了一种方法。。。
如bbar是Ext.PagingToolbar对象,在要刷新数据源的事件中不要用store.load(),用bbar.doLoad(bbar.cursor);即可!
获取当前第几页:grid.getBottomToolbar().getPageData().activePage
获取页大小:grid.getBottomToolbar().pageSize
在修改或删除grid中的数据时,删除成功后需要重新load数据,并继续停留在当前页,可以使用PagingToolbar的cursor属性获取当前的页码开始的记录数。不知道为什么,这个属性值API中没有查到,后来翻看PagingToolbar.js的代码才看到的。
pagebar=new Ext.PagingToolbar({
pageSize:25,
store:userStore,
displayInfo:true,
displayMsg:'显示第{0}条到{1}条记录,一共{2}条',
emptyMsg:"没有记录"
});
userStore.load({params:{start:pagebar.cursor,limit:pagebar.pageSize}});