store分页中PagingToolbar出现显示页面数异常的解决

来源:互联网 发布:php按钮颜色代码 编辑:程序博客网 时间:2024/05/17 16:02

注:以下图片禁止转载,文字转载请注明出处

 

使用gridPanel数据量大时我们会采用翻页功能,以及在gridPanel顶端放置条件查找控件进行数据的过滤。

 

可能许多人没有注意过当我们第一次查找时,翻页到第二页或是第三页,重新使用快速查找框从后台请求数据时所出的问题,

 

 

参数start不是快速查找时我们想要的从0开始,而是继续之前翻页的start+limit,这样就会造成数据上的误差,PagingToolbar中也会显示的是之前页数的后一页而不是第一页。


那么如何解决这个问题,尝试的第一种方法

perDataStore.load({params:{start:0}});


在快速查找button触发的事件中,store加载添加参数 start:0,窃喜,这样数据是没有问题了,但是PagingToolbar的显示还是有问题。继续寻找解决方案

 

最终使用 perDataStore.loadPage(1);这个方法解决掉这个烦人的问题。


以下是doc对这个方法的解释

 

   /**     * Loads a given 'page' of data by setting the start and limit values appropriately. Internally this just causes a normal     * load operation, passing in calculated 'start' and 'limit' params     * @param {Number} page The number of the page to load     * @param {Object} options See options for {@link #load}     */    loadPage: function(page, options) {        var me = this;        options = Ext.apply({}, options);//设置当前页        me.currentPage = page;        me.read(Ext.applyIf(options, {            page: page,            start: (page - 1) * me.pageSize,            limit: me.pageSize,            addRecords: !me.clearOnPageLoad        }));    },

 

原创粉丝点击