在Ext.PagingToolbar中捕获页码

时间:2014-10-09 15:37:50

标签: extjs

我正在使用ExtJS.Grid,它使用带有jsonp代理的Ext.data.Store和Ext.PagingToolbar来控制分页。一切正常。

但是有些用户抱怨他们进一步浏览页面,离开网格,当他们回来时他们又回到了第1页。他们希望“网格能够记住”他们所在的网页并从中开始。

我使用Ext.onReady(function(){},false);来定义所有组件,使用另一个Ext.onReady(function(){});创建一个带有store.loadPage(1);的网格,以便在完成所有内容后进行第一次加载。

如果我可以从Ext.PagingToolbar中收听某些事件,当发生新的加载并捕获它所使用的页面时,我可能会将其存储在某个cookie或其他内容中,并检索它以再次加载该页面。

我查看了http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.toolbar.Paging,发现没有可以使用的事件。任何人都知道我能在哪里做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以跟踪Ext.toolbar.Paging的更改事件,并记住Cookie中的currentPage

pagingtoolbar.on('change', function(pb, pageData) {
  Ext.util.Cookies.set('lastGridPage', pageData.currentPage, new Date('1/1/2016'));
});

设置网格以在afterrender

上加载该网页
grid.on('afterrender', function() {
  var pageNumber = Ext.util.Cookies.get('lastGridPage') || 1;
  grid.store.loadPage(pageNumber);
})