当前位置: 代码迷 >> Java Web开发 >> extjs分页有关问题,求指教
  详细解决方案

extjs分页有关问题,求指教

热度:228   发布时间:2016-04-14 21:06:06.0
extjs分页问题,求指教
现在的问题是页面只能展示start和limit设定的值,翻页按钮不能用。自己估计应该tota也有的问题,麻烦各位有空看看,谢谢Q:1064896740


js:
var page_size=5;
var start_size=0;
Ext.onReady(function() {  
         var store = new Ext.data.JsonStore({  
          proxy:new Ext.data.HttpProxy({url:'json.jsp'}),
//             autoLoad: true,
             totalProperty: 'totalCount',
             root:'root',
             fields : [{
                 name : 'CJ'
               }, {
                 name : 'CQLG_TJSJ'
               }, {
                 name : 'KCDM'
               }, {
                 name : 'KCMC'
               }, {
                 name : 'OPERATE_TIME'
               }, {
                 name : 'XH'
               }, {
                 name : 'XKKH'
               }, {
                 name : 'XM'
               }, {
                 name : 'XN'
               }, {
                 name : 'XQ'
               }, {
                 name : '事件类型'
               },  {
                 name : '操作用户'
               }, {
                 name : '数据库对象'
               }, {
                 name : '数据库对象类型'
               }, {
                 name : '数据类型'
               }]
         });  
         
         //分页工具
         var pagingToolbar = new Ext.PagingToolbar({
             pageSize: page_size,
             store: store,
             displayInfo: true,
             displayMsg: "显示第 {0} 条到 {1} 条记录 ,一共 {2} 条",
             emptyMsg: "没有记录",
             
          });
         
              
            var grid = new Ext.grid.GridPanel({  
                        store : store,  
                        columns : [{
                            header : '成绩',
                            dataIndex : 'CJ',
                            align : 'center',
                            flex : 4.1
                          }, {
                            header : '提交时间',
                            dataIndex : 'CQLG_TJSJ',
                            align : 'center',
                            flex : 7.6867
                          }, {
                            header : '课程代码',
                            dataIndex : 'KCDM',
                            align : 'center',
                            flex : 5.1245
                          }, {
                              header : '课程名称',
                              dataIndex : 'KCMC',
                              align : 'center',
                              flex : 11.9327
                              
                            }, {
                                header : '操作时间',
                                dataIndex : 'OPERATE_TIME',
                                align : 'center',
                                flex : 10.2489
                              }
                            , {
                                header : '学号',
                                dataIndex : 'XH',
                                align : 'center',
                                flex : 6.8814
                              }
                            , {
                                header : '选课课号',
                                dataIndex : 'XKKH',
                                align : 'center',
                                flex : 7.0278
                              }
                            , {
                                header : '姓名',
                                dataIndex : 'XM',
                                align : 'center',
                                flex : 4.3924
                              }
                            , {
                                header : '学年',
                                dataIndex : 'XN',
                                align : 'center',
                                flex : 5.7101
                              }
                            , {
                                header : '学期',
                                dataIndex : 'XQ',
                                align : 'center',
                                flex : 3.6603
                              }
                            , {
                                header : '事件类型',
                                dataIndex : '事件类型',
                                align : 'center',
                                flex : 5.1245
                              }
                            ,  {
                                header : '操作用户',
                                dataIndex : '操作用户',
                                align : 'center',
                                flex : 5.3441
                              }
                            , {
                                header : '数据库对象',
                                dataIndex : '数据库对象',
                                align : 'center',
                                flex : 6.1493
                              }
                            , {
                                header : '数据库对象类型',
                                dataIndex : '数据库对象类型',
                                align : 'center',
                                flex : 8.1742
                              }, {
                                  header : '数据类型',
                                  dataIndex : '数据类型',
                                  align : 'center',
                                  flex : 7.1742
                                }],
                        stripeRows : true,  
                        autoExpandColumn : 'name',  
                        height : 700,  
                        width : 1428,
                        title : '异动详情',  
                        stateful : true,  
                        stateId : 'grid',
                        tbar :pagingToolbar
                    });
            store.load({params:{start:start_size,limit:page_size}});
            
            var win = new Ext.Window({
             layout : 'fit',
                        flex : 100,
                        draggable:false,
                        height : 600,  
//                        title : ' 学生成绩监控系统',  
                        items : [grid],  
//                        buttons : [{  
//                                    text : '刷新',  
//                                    handler : function() { 
//                                     store.load({params:{start:start_size,limit:page_size}});
//                                    }  
//                                }]  
                    });
            win.setPosition(0,142);//设置窗口绝对位置
            win.show();  
        });  

JAVA:
package jsonEngine;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;





import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONArray;

public class cjb_show_info {
  
  public String dataStr;//csi()赋值
  public int i;
  public int totalCount;
  
  public static void main(String args[]){
//    cjb_show_info t = new cjb_show_info();//调用,仅供测试
//    t.csi();
//    System.out.println("__________________________________________");
//    System.out.println(t.dataStr);//数据前后对比 
    }
  
//  public  void Buffer(String str1,String str2,int c){
//   StringBuffer Buffer= new StringBuffer(str1);
//   Buffer.insert(c, str2);
//   dataStr=Buffer.toString();
//  }

  public String csi(int start,int limit){
    cjb_show cjb_sh;
    

    
    // 连接数据库
    String sql_1 = "select * from cjb_show";

    ArrayList<cjb_show> list = new ArrayList<cjb_show>();
    ArrayList<cjb_show> temp = new ArrayList<cjb_show>();

    String url = "jdbc:oracle:thin:@localhost:1521:orcl";//配置连接池
    list.clear();
    
    try{
    Class.forName("oracle.jdbc.driver.OracleDriver");
    Connection connection = DriverManager.getConnection(url, "yunhua", "yunhua");
    Statement stmt = connection.createStatement();// 连接数据库
    ResultSet rs_1 = stmt.executeQuery(sql_1);
    
    while (rs_1.next()) {
      String CJ = rs_1.getString("CJ");
      String 数据类型 = rs_1.getString("数据类型");  
      String XN = rs_1.getString("XN");
      String XQ = rs_1.getString("XQ");
      String XKKH = rs_1.getString("XKKH");
      String XH = rs_1.getString("XH");
      String XM = rs_1.getString("XM");
      String KCMC = rs_1.getString("KCMC");
      String KCDM = rs_1.getString("KCDM");
      String CQLG_TJSJ = rs_1.getString("CQLG_TJSJ");
      String OPERATE_TIME = rs_1.getString("OPERATE_TIME");
      String 操作用户 = rs_1.getString("操作用户");
      String 事件类型 = rs_1.getString("事件类型");
      String 数据库对象类型 = rs_1.getString("数据库对象类型");
      String 数据库对象 = rs_1.getString("数据库对象");
      String 客户端IP = rs_1.getString("客户端IP");
      
      //通过调用构造将数据写入cjb_sh对象中
      cjb_sh = new cjb_show(数据类型,CJ,XN, XQ, XKKH, XH, XM,  KCMC, KCDM,
          CQLG_TJSJ, OPERATE_TIME, 操作用户, 事件类型, 数据库对象类型, 数据库对象, 客户端IP);
      //将对象加入到列表中
      list.add(cjb_sh);
    }//while结束
    totalCount = list.size();
    //以下代码仅供翻页使用,
      for(int i=0;i<list.size();i++){
        if(start<=i&i<limit){
          cjb_show cjb_sh1 = list.get(i);
          
          temp.add(cjb_sh1);
        }
        
      }

//      String str1="{\"totalCount\":"+"\""+totalCount+"\""+",\"root\":";
//      String str2="}";
      
      System.out.println("数量:"+totalCount);//打印记录数量
      JSONArray jsonarray = JSONArray.fromObject(temp);//将字符串转换为json格式
      dataStr = jsonarray.toString();//---------给字符串赋值---------
//      Buffer(dataStr,str1,1);
//      str1+=dataStr;
//      str1+=str2;
//      dataStr = str1;
      System.out.println(dataStr);
      list.clear();
      rs_1.close ( );
      stmt.close ( );
      connection.close ( );
    
        }
    
        catch(Exception e){
          return " ";
      }
    
    
      return null;//方法csi()结束
    
    }

  }
------解决思路----------------------

去掉这一行 store.load({params:{start:start_size,limit:page_size}});EXt是纯配置的,不会出现这样单独一行的代码,
这是Store的配置
store = new Ext.data.Store({
autoLoad: true,
fields:[
{name:'author'},
{name:'releasetime'},
{name:'title'},
{name:'content'},
{name:'url'},
{name:'nid'}
],
        pageSize:15,
        clearOnPageLoad :true,
proxy:{
type : 'ajax',
timeout: 90000,
url:'workinfo!findNotify.action',
reader:{
type : 'json',
root : 'items',
totalProperty : 'totalCount'
}
}
});


  相关解决方案