我用EXT做了一grid表格,分页时第一页显示正常,点翻页时就还是第一页的数据,就是说翻页根本没作用,各位帮帮忙啊
后台servlet代码,
if(action!=null && action.equals("list")){
JSONObject jo=null;
try {
count=rdao.getPageRowsCount();
int start = Integer.valueOf(request.getParameter("start"));
int limit = Integer.valueOf(request.getParameter("limit"));
List li=rdao.getAllUsers(start, limit);
for(int i=0;i<li.size();i++){
UserInfo d=(UserInfo)li.get(i);
//jo=JSONObject.fromObject(d,config);
JsonConfig config = JsonFilter.getFilter(new String[]{"qainfosByDealWithUserId","userRoles","logInfos","department"});
JSONObject responseJsonMsgs=JSONObject.fromObject(d,config);
//jo=JSONObject.fromObject(d);
arr.add(responseJsonMsgs.toString());
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
com.hxcz.gold.util.PersonPacket pp= new com.hxcz.gold.util.PersonPacket(count,arr);
jo=JSONObject.fromObject(pp);
out.print(jo.toString());
out.flush();
out.close();
}
前台Js代码:
Ext.onReady(function(){ Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
var fields=new Ext.data.Record.create([
{name:"adminFlag",type:"string"},
{name:"password",type:"string"},
{name:"userId",type:"int"},
{name:"userName",type:"string"},
{name:"userName2",type:"string"},
{name:"workCode",type:"int"},
{name:"workGroup",type:"string"}
]);
var store=new Ext.data.Store({
proxy:new Ext.data.HttpProxy({url:'../../User'}),
reader:new Ext.data.JsonReader({
totalProperty: 'count',
root:"arr"},
fields)
});
var linkButton = new Ext.Button({
text: '导出到Excel',
handler: function() {
var vExportContent = grid.getExcelXml();
if (Ext.isIE6 || Ext.isIE7 || Ext.isSafari || Ext.isSafari2 || Ext.isSafari3) {
var fd=Ext.get('frmDummy');
if (!fd) {
fd=Ext.DomHelper.append(Ext.getBody(),{tag:'form',method:'post',id:'frmDummy',action:'exportexcel.jsp', target:'_blank',name:'frmDummy',cls:'x-hidden',cn:[
{tag:'input',name:'exportContent',id:'exportContent',type:'hidden'}
]},true);
}
fd.child('#exportContent').set({value:vExportContent});
fd.dom.submit();
} else {
document.location = 'data:application/vnd.ms-excel;base64,'+Base64.encode(vExportContent);
}}
});
var grid = new Ext.grid.GridPanel({
el:'grid-example',
id: 'static-grid',
store:store,
columns: [
{id:"adminFlag",header:"编号",dataIndex:"adminFlag"},
{header:"密码",dataIndex:"password",hidden:true},
{header:"用户编号",dataIndex:"userId"},
{header:"登录名",dataIndex:"userName"},
{header:"用户名",dataIndex:"userName2",width:200},
{header:"分机号",dataIndex:"workCode"},
{header:"工作组",dataIndex:"workGroup"}
],
stripeRows: true,
autoExpandColumn: 'adminFlag',
height:350,
width:600,
tbar:new Ext.PagingToolbar({
pageSize:5,
store: store,
displayInfo: true,
beforePageText:"第",
afterPageText:"/ {0}页",
firstText:"首页",
prevText:"上一页",
nextText:"下一页",
lastText:"尾页",
refreshText:"刷新",
displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg: "没有记录" }),
title:'EXT Grid 导出excel 例子',
bbar: new Ext.Toolbar({
buttons: [linkButton]
})
}); grid.render();
store.load({params:{start:0,limit:5,action:'list'}});
grid.getSelectionModel().selectFirstRow();
});
后台servlet代码,
if(action!=null && action.equals("list")){
JSONObject jo=null;
try {
count=rdao.getPageRowsCount();
int start = Integer.valueOf(request.getParameter("start"));
int limit = Integer.valueOf(request.getParameter("limit"));
List li=rdao.getAllUsers(start, limit);
for(int i=0;i<li.size();i++){
UserInfo d=(UserInfo)li.get(i);
//jo=JSONObject.fromObject(d,config);
JsonConfig config = JsonFilter.getFilter(new String[]{"qainfosByDealWithUserId","userRoles","logInfos","department"});
JSONObject responseJsonMsgs=JSONObject.fromObject(d,config);
//jo=JSONObject.fromObject(d);
arr.add(responseJsonMsgs.toString());
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
com.hxcz.gold.util.PersonPacket pp= new com.hxcz.gold.util.PersonPacket(count,arr);
jo=JSONObject.fromObject(pp);
out.print(jo.toString());
out.flush();
out.close();
}
前台Js代码:
Ext.onReady(function(){ Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
var fields=new Ext.data.Record.create([
{name:"adminFlag",type:"string"},
{name:"password",type:"string"},
{name:"userId",type:"int"},
{name:"userName",type:"string"},
{name:"userName2",type:"string"},
{name:"workCode",type:"int"},
{name:"workGroup",type:"string"}
]);
var store=new Ext.data.Store({
proxy:new Ext.data.HttpProxy({url:'../../User'}),
reader:new Ext.data.JsonReader({
totalProperty: 'count',
root:"arr"},
fields)
});
var linkButton = new Ext.Button({
text: '导出到Excel',
handler: function() {
var vExportContent = grid.getExcelXml();
if (Ext.isIE6 || Ext.isIE7 || Ext.isSafari || Ext.isSafari2 || Ext.isSafari3) {
var fd=Ext.get('frmDummy');
if (!fd) {
fd=Ext.DomHelper.append(Ext.getBody(),{tag:'form',method:'post',id:'frmDummy',action:'exportexcel.jsp', target:'_blank',name:'frmDummy',cls:'x-hidden',cn:[
{tag:'input',name:'exportContent',id:'exportContent',type:'hidden'}
]},true);
}
fd.child('#exportContent').set({value:vExportContent});
fd.dom.submit();
} else {
document.location = 'data:application/vnd.ms-excel;base64,'+Base64.encode(vExportContent);
}}
});
var grid = new Ext.grid.GridPanel({
el:'grid-example',
id: 'static-grid',
store:store,
columns: [
{id:"adminFlag",header:"编号",dataIndex:"adminFlag"},
{header:"密码",dataIndex:"password",hidden:true},
{header:"用户编号",dataIndex:"userId"},
{header:"登录名",dataIndex:"userName"},
{header:"用户名",dataIndex:"userName2",width:200},
{header:"分机号",dataIndex:"workCode"},
{header:"工作组",dataIndex:"workGroup"}
],
stripeRows: true,
autoExpandColumn: 'adminFlag',
height:350,
width:600,
tbar:new Ext.PagingToolbar({
pageSize:5,
store: store,
displayInfo: true,
beforePageText:"第",
afterPageText:"/ {0}页",
firstText:"首页",
prevText:"上一页",
nextText:"下一页",
lastText:"尾页",
refreshText:"刷新",
displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg: "没有记录" }),
title:'EXT Grid 导出excel 例子',
bbar: new Ext.Toolbar({
buttons: [linkButton]
})
}); grid.render();
store.load({params:{start:0,limit:5,action:'list'}});
grid.getSelectionModel().selectFirstRow();
});
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货