ExtJS之GridPanel分页原理解读

 

一般在JS代码中这样设定store.load({params:{start:0,limit:20}})

下面的代码中还有个pageSize

var bbar = new Ext.PagingToolbar({
      pageSize: 10,
      store:bookStore,
            displayInfo:true,
      displayMsg:'第{0}条到{1}条,共{2}条',
      emptyMsg:'没有记录'
  });

 那么pageSize和limit究竟有什么区别呢,其实limit后面的数据是页面刚加载上来显示的显示的当前页的查询条数,如果limit和pageSize值不同那么以后每次点击分页时显示的每页条数就是pageSize的值了,显然要保持一致了

 我们后台代码中一般select * from tab limit #pageNo,#pageSize;这样的语句

 那么我们就要知道#pageNo和JS中start的值的关系了,因为多次试验证明#pageSize就是JS上面的pageSize的值

 如果在后台监控的话你会发现每次JS的start和pageSize有这么几种关系

start  pageSize

  0      20            
 20     20
 40     20
 60     20
 80     20

经研究发现如果这样写逻辑代码就对了start=start/limit+1;为什么加一呢,因为SQL语句中limit 0,pageSiz和limit 1,pageSize效果一样
这样的话到页面第一页和第二页分页等于没有分,所以加一正好合适,搞定了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值