我后台传到客户端的数据是22条,我要实现每页显示5条数据,总共5页,奇怪是的,只能翻到第二页就不能往下翻页了,start 和 limit 的的变化如下:
初始化第一页的时候:start:0  limit:5
点击下一页进入第二页的时候:start:5  limit:5
点击下一页进入第三页的时候:start:10  limit:5,到这里就停了,继续点击下一页的时候依然是:start:10  limit:5,当前页显示的是第二页,正常的应该是:start:15  limit:5,为什么第一次翻页没问题,但是继续往后面翻就有问题了呢?这是为什么?贴出部分代码请高手指点一二,小弟感激不尽!

 var ds = new Ext.data.Store({  
                reader:new Ext.data.JsonReader({
                 totalProperty:"totalProperty",
root:"root",
id:'id',
fields:['id','userName','roleId','roleName','rName','useCompany','status','num','lastTime']
                }),
                proxy: datas
              });  
    var gridDivId = "user_menu_"+this.pageId ;
    this.gridTable = new Ext.grid.GridPanel({   
        el: gridDivId,   
        store:ds,   
        cm:cm,   
        sm:sma,       
        stripeRows: true, 
        //autoExpandColumn:2,
        viewConfig:{   
            forceFit:true
         },   
        //autoHeight:true,
        height:Main.getBodyHeight() - 10,   
        width:Main.getBodyWidth() - 200,
        tbar : tbar,
        bbar : new Ext.PagingToolbar({
         store : ds,
         afterPageText: '共{0}页',
         beforePageText: '当前页',
         lastText:"尾页",   
                 nextText :"下一页",   
                 prevText :"上一页",   
                 firstText :"首页",   
                 refreshText:"刷新页面",  
pageSize :5,
displayInfo : true,
displayMsg : ' {0} - {1} 条 共 {2} 条记录',
emptyMsg : "暂无数据"
}),
        title:'用户管理'  
        });   
   this.gridTable.render();
   ds.load({params:{start:0,limit:5}});

解决方案 »

  1.   

    贴出后台的测试代码!
    String start=request.getParameter("start");  
          String limit=request.getParameter("limit");  
          System.out.println("start:"+start);  
          System.out.println("limit:"+limit);  
            
          Integer first=Integer.parseInt(start);  
          Integer limitInt=Integer.parseInt(limit);  
            
          List<String> list=new ArrayList<String>();  
          for(int i=0;i<22;i++){  
             StringBuffer data=new StringBuffer();  
             data.append("{id:").append(i).append(",userName:'").append("tom"+i+"'")  
                 .append(",roleId:").append(i).append(",roleName:'").append("管理员"+i+"'")
                 .append(",rName:'").append("张三"+i+"'")
                 .append(",useCompany:'").append("威盛集团'").append(",status:'").append("可用'")
                 .append(",num:").append(i).append(",lastTime:'").append("2011-5-6'").append("}");  
             list.add(data.toString());  
               
          }  
            
          StringBuffer showData=new StringBuffer();  
          int end=first+limitInt;  
          int index = end>list.size()?list.size():end;
          for(int i=first;i<index;i++){  
            
            System.out.println(list.get(i));  
              
              showData.append(list.get(i));  
              if(i != index-1){  
                showData.append(",");  
              }  
          }  
            
          System.out.println(showData.toString());  
          String json= "{"+  
                       "totalProperty:'"+list.size()+"',"+  
                       "root:["+ showData.toString()+ "]}";  
          System.out.println(json);  
          response.getWriter().write(json);  
      

  2.   

    传到客户端的JSON格式:{totalProperty:'22',root:[{id:0,userName:'tom0',roleId:0,roleName:'管理员0',rName:'张三0',useCompany:'威盛集团',status:'可用',num:0,lastTime:'2011-5-6'},{id:1,userName:'tom1',roleId:1,roleName:'管理员1',rName:'张三1',useCompany:'威盛集团',status:'可用',num:1,lastTime:'2011-5-6'},{id:2,userName:'tom2',roleId:2,roleName:'管理员2',rName:'张三2',useCompany:'威盛集团',status:'可用',num:2,lastTime:'2011-5-6'},{id:3,userName:'tom3',roleId:3,roleName:'管理员3',rName:'张三3',useCompany:'威盛集团',status:'可用',num:3,lastTime:'2011-5-6'},{id:4,userName:'tom4',roleId:4,roleName:'管理员4',rName:'张三4',useCompany:'威盛集团',status:'可用',num:4,lastTime:'2011-5-6'}]}
      

  3.   


       var store = new Ext.data.Store({
          proxy: new Ext.data.HttpProxy({
           url: ""
          }),
      reader: new Ext.data.JsonReader()
       });    var s = 20;
       var pageToolbar = new Ext.PagingToolbar({
        pageSize: s,
        store: store,
        afterPageText: '/ {0}',  
        beforePageText: '页',  
        displayInfo: true,  
        displayMsg: '显示 {0} - {1} / {2}',  
        emptyMsg: '没有数据',  
        firstText: '第一页',  
        prevText: '前一页',  
        nextText: '后一页',  
        lastText: '最后一页',  
        refreshText: '刷新',
        listeners: {
         "next": function() {
         }
        }
    });    // create the Grid
       var grid = new Ext.grid.GridPanel( {
          id : "grid",
          title : "查询结果",
          store : store,
          columns : cols,
          stripeRows : true,
          enableHdMenu: false,
          enableColumnMove: false,
          animCollapse: false,
          autoScroll: true,
          frame: true,
             loadMask: {msg: "检索中"},
       bbar: pageToolbar
       });    grid.render('gridPanel');
       store.load({params:{start:0, limit:s}});
    我做过的分页,没问题,你试试。
      

  4.   


    listeners: {
                        "next": function() {
                        }
                    }这个事件没起作用啊?

      

  5.   

    {'metaData': {totalProperty: 'totalProperty', root: 'root', id: 'id', 
    fields: 
    [{name: 'a'},
     {name: 'b'},
     {name: 'c'}]},
    totalProperty: 736, 
    root: 
    [{'a':'1','b':'2','c':'3'},
     {'a':'1','b':'2','c':'3'},
    {'a':'1','b':'2','c':'3'},
    {'a':'1','b':'2','c':'3'},
    {'a':'1','b':'2','c':'3'},
    {'a':'1','b':'2','c':'3'}
    ]
    }
      

  6.   

    晕死,我的是Ext2.1你那是start传参有错误,看看源码吧。
      

  7.   


    按你所说的  点击下一页进入第三页的时候:start:10 limit:5,到这里就停了,继续点击下一页的时候依然是:start:10 limit:5,
    就不是后台的问题了。 
    按理说前台有params:{start:0,limit:5}, pageSize :5,就不会有问题的。
    你可以把这个gird重新单独出来试试。
      

  8.   

    原因是我后台传到客户端的JSON格式有误~上面贴出来的是我测试的JSON格式,是正确的,能正常分页,但是我真正的项目中的JSON格式错咯,所以最后我按着上面我贴出来的测试JSON格式对比我项目中的,发现我“}”括号弄错咯,呵呵!害我瞎折腾了几天!需要源码的兄弟姐妹留下邮箱吧!
      

  9.   

    json格式错误,前台会报错的吧
      

  10.   

    贴出Ext分页源码实例
    http://download.csdn.net/source/3352881