2015-04-01 33 views
1

我有一些問題,用於從數據庫中選擇項目的組合框。 由於超過100個項目被加載,我使用分頁工具欄在組合框的底部。 現在,如果頁面大小設置爲5或50,則分頁工具欄會根據頁面大小顯示20或1中的第1頁,但組合框顯示全部100個項目,並將它們複製到下一頁面,例如頁面大小根本沒有設置。 我看了這裏和其他論壇上的幾個帖子,並嘗試了幾件事,但沒有任何東西似乎使它的工作。 怎麼回事?Combobox分頁工具欄dosn't不響應頁面大小

{ 

      xtype: 'combobox',   
      queryMode: 'local', 
      valueField: 'id', 
      fieldLabel: 'Description SKU', 
      name: 'id_fk', 
      pageSize: 5,     
      width: 400, 
      padding: 5, 
      store: Ext.create('Ext.data.Store', 
        { 
         fields: ['id','key item','description'], 
         autoLoad: true, 
         pageSize: 5,       
         proxy: 
         { 
          type: 'ajax', 
          url: 'items/load', 
          reader: 
          { 
           type: 'json', 
           root: 'data' 
          } 
         } 
        }), 
      tpl: Ext.create('Ext.XTemplate', 
        '<tpl for=".">', 
         '<div class="x-boundlist-item">{key item} - {description}</div>', 
        '</tpl>'), 

      displayTpl: Ext.create('Ext.XTemplate', 
            '<tpl for=".">', 
             '{key item} - {description}', 
            '</tpl>' 
            ) 


     } 

回答

2

當請求以裝載存儲,它會通過一個pageSize的查詢參數值爲5

然而,它是由服務器端的服務,藉此參數考慮在內時,返回結果。

編輯:這裏的分頁組合框的例子:http://docs.sencha.com/extjs/4.1.3/#!/example/form/forum-search.html

如果你打開你的web開發控制檯上的網絡選項卡上,你會看到該請求被解僱,你可以看一下查詢參數。您可以根據需要發送其他內容,但這對於基本分頁應該足夠了。

以下是發送的查詢參數:

極限 - 由「pageSize的」參數集(25默認)

開始 - 要返回的第一條記錄(從0開始並遞增PAGESIZE使用工具欄上的上/下一個按鈕)

頁 - 頁我們是在(從1開始,並使用工具欄上的上/下一個按鈕)

查詢遞減/遞增1 - 中文本在組合框中。

編輯2: 您也應該從您的服務器返回一個「totalProperty」,其中包含總計結果數。這將適當地更新工具欄(例如,您位於y的第x頁)。默認情況下,totalProperty的預期值是「total」。當您查看提供的示例中的代碼時,您可以看到這一點。

+0

我採取了限制,並增加了SQL查詢使用限制來獲取前50項。 但是我怎樣才能讓extJS給我取下50個項目的選項? 它停在第50頁,分頁工具欄不會讓我選擇移動到下一頁。 – Kerempuhh 2015-04-04 20:32:52

+0

我編輯了我的回覆,討論發送的其他查詢參數並舉例說明。希望這有助於。 – SelfSurgery 2015-04-05 14:16:24