2012-05-31 139 views
0

我想爲網格中的每個頁面加載15條記錄:pageSize : 15,,服務器正好發送給我15頁,問題是網格中的下一頁按鈕被禁用。加載下一頁網格Ext JS 4

商店:

​​

網:

xtype : 'gridpanel', 
store : mystore, 
height : 350, 
columns : [ { 
      dataIndex : 'firstName', 
      text  : 'First Name', 
      flex  : 1 
     },{ 
      dataIndex : 'lastName', 
      text  : 'Last Name', 
      flex  : 1 
     },{ 
      dataIndex : 'email', 
      text  : 'Email', 
      flex  : 1 
}], 
dockedItems : [ { 
    xtype : 'pagingtoolbar', 
    hight : 28, 
    displayInfo : true, 
    dock : 'bottom' 
} ] 

加載網:我已經測試3個methodes:

  • grid.getStore().loadPage(1);
  • grid.getStore().load({ params:{start : 0, limit : 15}});
  • grid.getStore().load();

編輯 enter image description here

+2

您將totalProperty屬性設置爲「total」。確保您的服務器在JSON響應中發送「總數:225」。頁面大小定義了網格每頁顯示多少條記錄,但它需要總記錄數來設置它的分頁機制。你看到你的工具欄中的第1頁(共15頁)嗎? –

+0

我編輯了我的文章,圖像描述了結果。你說服務器應該發送「總數:225」,你的意思是服務器有效地發送了225條記錄?或只是通知客戶的全部記錄? – Adil

+2

那麼,您的查詢獲取有多少條記錄(總計在您的數據庫中)? 225是一個隨機數,它的15頁x 15個結果/頁。假設您的SELECT * FROM FOO返回225個結果。然後,您負責對數據庫中的結果進行分頁,並通過JSON或其他任何方式僅向客戶端發送15封郵件。然後,網格顯示15個結果。但是,爲了讓網格知道它必須提供15個頁面,它在從服務器收到的響應中需要一個「total:225」屬性/值對。 –

回答

0

大多是因爲你從服務器接收的事實,你是從數據丟失TOTALCOUNT屬性。 這樣網格就會計算分頁工具欄。

+0

是的,這是我的問題 – Adil