项目中一张表数据太多 不能每次翻页都去查询所以我希望重写store的load方法然后每1000条去后台查一次,页面每次显示20条一下是代码
Ext.data.PageStore = Ext.extend(Ext.data.Store,{
load:function (o){
if(start%1000==0){
Ext.data.PageStore.superclass.load.call(this,o);
}else{
Ext.data.PageStore.superclass.removeAll.call(this);
                        var start = o['params']['start']%1000;
                        var limit = (o['params']['limit']+1)%1000;
                        //此处的data是页面自己创建的一个数据集吧每次从后台取出的1000条数据存进去
var temp = data.slice(start,[limit]);
Ext.data.PageStore.superclass.add.call(this,temp);
}
}
});
翻页工具用的是Ext.PagingToolBar
问题是我在翻页的时候根本下面的 “第 A页 共XXX页 第B条-第C条 共X条”中的A根本不变 代码是执行了 但是页数没变求高人解答。给个解决方案。

解决方案 »

  1.   

    var temp = data.slice(start,[limit]);这句话写的有问题吧
    主要是你看下他原来的Ext的store的load的源码是怎么去加载数据的 总感觉你的else分支漏了点什么
      

  2.   

    能成功执行,表哥内容也能变化,就是页数和条数不变。else中也调用下父类的load方法就会一切OK。所以想请教下我到底该补充什么在else的方法体中,相对于父类的load还少什么
      

  3.   

    这样写太麻烦了吧
    可以直接传两个参数到后台:start、limit
    后台查的时候不就方便了既然用了Ext.PagingToolBar那就更方便了
    设置一下 pageSize: 20
    JsonReader中再设置totalProperty剩下分页查询的就是ext帮你完成了啊,点一下查20条..