`
JavaCrazyer
  • 浏览: 2991472 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类

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效果一样
这样的话到页面第一页和第二页分页等于没有分,所以加一正好合适,搞定了

 

1
0
分享到:
评论
4 楼 wjzihao 2011-12-01  
哈哈  2个小时没解决的 看了你的解决了
3 楼 温柔企鹅 2011-11-04  
感觉挺乱,写的是啥啊?
2 楼 Seven7+ 2011-04-20  
那bbar分页的时候传递而外的参数怎么传递?
1 楼 chemzqm 2010-04-05  
Ext包下面有ext-lang-zh_CN.js文件 页面引入这个就不用写
displayMsg:'第{0}条到{1}条,共{2}条',
      emptyMsg:'没有记录' 
这些中文化代码了

相关推荐

Global site tag (gtag.js) - Google Analytics