var obj = this; var pageSize = 20; //統(tǒng)計結(jié)果分頁每一頁顯示數(shù)據(jù)條數(shù) //在這里使用Store來創(chuàng)建一個類似于數(shù)據(jù)表的結(jié)構(gòu),因為需要遠程獲取數(shù)據(jù),所以應(yīng)該使用 //HttpProxy類,我是從后臺讀取的是json數(shù)據(jù)格式的數(shù)據(jù),所以使用JsonReader來解析; var proxy = new Ext.data.HttpProxy({ url:"com.test.check.servlets.QueryDetailServlet" }); var statTime = Ext.data.Record.create([ {name:"rowNo",type:"string",mapping:"rowNo"}, {name:"gpsid",type:"string",mapping:"gpsid"}, {name:"policeName",type:"string",mapping:"policeName"} ]); var reader = new Ext.data.JsonReader({ totalProperty:"count", //此處與后臺json數(shù)據(jù)中相對應(yīng),為數(shù)據(jù)的總條數(shù) root:"data" //這里是后臺json數(shù)據(jù)相對應(yīng) },statTime); var store = new Ext.data.Store({ proxy:proxy, reader:reader }); //定義分頁工具條 var bbarObj = new Ext.PagingToolbar({ pageSize: pageSize, store: store, width: 300, displayInfo: true, //該屬性為需要顯示分頁信息是設(shè)置 //這里的數(shù)字會被分頁時候的顯示數(shù)據(jù)條數(shù)所自動替換顯示 displayMsg: '顯示第 {0} 條到 {1} 條記錄,一共 {2} 條', emptyMsg: "沒有記錄", prependButtons: true }); 在我的項目中使用的是GridPanel來進行顯示數(shù)據(jù)表,所以定義如下: var grid = new Ext.grid.GridPanel({ store: store, columns: [ {header:'序號',width: 33, sortable: true,dataIndex:'rowNo',align:'center'}, {id:'gpsid',header:'GPS編號',width: 85, sortable: true,dataIndex:'gpsid',align:'center'}, {header:'警員名稱',width: 90, sortable: true,dataIndex:'policeName',align:'center'} ], region:'center', stripeRows: true, title:'統(tǒng)計表', autoHeight:true, width:302, autoScroll:true, loadMask:true, stateful: true, stateId: 'grid', columnLines:true, bbar:bbarObj //將分頁工具欄添加到GridPanel上 }); //在以下方法中向后臺傳送需要的參數(shù),在后臺servlet中可以使用 //request.getParameter("");方法來獲取參數(shù)值; store.on('beforeload',function(){ store.baseParams={ code: code, timeType: timeType, timeValue: timeValue } }); //將數(shù)據(jù)載入,這里參數(shù)為分頁參數(shù),會根據(jù)分頁時候自動傳送后臺 //也是使用request.getParameter("")獲取 store.reload({ params:{ start:0, limit:pageSize } }); duty.leftPanel.add(grid); //將GridPanel添加到我項目中使用的左側(cè)顯示欄 duty.leftPanel.doLayout(); duty.leftPanel.expand(); //左側(cè)顯示欄滑出 |