现在的问题是页面只能展示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'
}
}
});