var obj = this; var pageSize = 20; //統計結果分頁每一頁顯示數據條數 //在這里使用Store來創建一個類似于數據表的結構,因為需要遠程獲取數據,所以應該使用 //HttpProxy類,我是從后臺讀取的是json數據格式的數據,所以使用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數據中相對應,為數據的總條數 root:"data" //這里是后臺json數據相對應 },statTime); var store = new Ext.data.Store({ proxy:proxy, reader:reader }); //定義分頁工具條 var bbarObj = new Ext.PagingToolbar({ pageSize: pageSize, store: store, width: 300, displayInfo: true, //該屬性為需要顯示分頁信息是設置 //這里的數字會被分頁時候的顯示數據條數所自動替換顯示 displayMsg: '顯示第 {0} 條到 {1} 條記錄,一共 {2} 條', emptyMsg: "沒有記錄", prependButtons: true }); 在我的項目中使用的是GridPanel來進行顯示數據表,所以定義如下: 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:'統計表', autoHeight:true, width:302, autoScroll:true, loadMask:true, stateful: true, stateId: 'grid', columnLines:true, bbar:bbarObj //將分頁工具欄添加到GridPanel上 }); //在以下方法中向后臺傳送需要的參數,在后臺servlet中可以使用 //request.getParameter("");方法來獲取參數值; store.on('beforeload',function(){ store.baseParams={ code: code, timeType: timeType, timeValue: timeValue } }); //將數據載入,這里參數為分頁參數,會根據分頁時候自動傳送后臺 //也是使用request.getParameter("")獲取 store.reload({ params:{ start:0, limit:pageSize } }); duty.leftPanel.add(grid); //將GridPanel添加到我項目中使用的左側顯示欄 duty.leftPanel.doLayout(); duty.leftPanel.expand(); //左側顯示欄滑出 |