1. 程式人生 > >Extjs 解決grid分頁資料不變

Extjs 解決grid分頁資料不變

在使用分頁時,前天程式碼基本沒錯,但是分頁就是不成功,而是一直是不變化,全部載入

原因是沒有搞懂怎麼分頁的

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。


前臺程式碼:

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串。
也可以根據start和limit的值每一頁進行一次查詢。為了分頁Json串中要加上total表示記錄的總條數。

totalProperty:'total', 很重要,主要是pagingbar中從後臺返回的json中得到總共資料

後臺的返回json中必須包含有total欄位

string json = "{'total':"+count+",'root':[{},{}]";