Extjs 解決grid分頁資料不變
阿新 • • 發佈:2019-02-14
在使用分頁時,前天程式碼基本沒錯,但是分頁就是不成功,而是一直是不變化,全部載入
原因是沒有搞懂怎麼分頁的
Extjs分頁是根據
store.load({params:{start:0,limit:10}}); 中start,limit這兩個引數來進行分頁的。
start表示開始記錄數,limit表示一頁的記錄數。
當store第一次load的時候,start=0,limit=10;
當點選翻頁按鈕時,store進行load,此時 start=start+pageSize。如果pageSize=10,那麼第二頁start=10。
前臺程式碼:
後臺可以一次性的將所有的記錄查找出來然後根據start,limit的值每次返回的Json串。var store = new Ext.data.JsonStore ({ totalProperty:'total', fields: ['id','probeArea','probeTime','explanation','areaMark'], //record是按照此欄位資料進行解析 root:'root', remoteSort:true }); var pagingToolbar = new Ext.PagingToolbar ({ emptyMsg:"沒有資料", displayInfo:true, displayMsg:"顯示從{0}條資料到{1}條資料,共{2}條資料", store:store, pageSize:10 }); var dataGrid = new Ext.grid.GridPanel ({ id:'dataGrid', title:'結果顯示', frame:true, store:store, width:windowWidth-16, height:windowHeight-250, cm:cm, frame:true, autoScroll:true, stripeRows:true, bbar:pagingToolbar, listeners:{ 'render':function(){ this.bbar.dom.align='center'; } } }); store.load({params:{start:0,limit:10}});
也可以根據start和limit的值每一頁進行一次查詢。為了分頁Json串中要加上total表示記錄的總條數。
totalProperty:'total', 很重要,主要是pagingbar中從後臺返回的json中得到總共資料
後臺的返回json中必須包含有total欄位
string json = "{'total':"+count+",'root':[{},{}]";