天天看點

Ext 條件查詢 分頁

在grid裡面應用pagingToolbar實作分頁:

問題: 

     輸入查詢條件點選查詢

pagingToolbar上顯示:“每頁顯示50條資料 共259條記錄”

    但我點選pagingToolbar的“下一頁”

pagingToolbar上顯示:“每頁顯示50條資料 共313條記錄”

怎麼查詢出來的記錄數相同呢?

(點下一頁的時候,火狐debug下才知道查詢條件沒帶上)

加查詢條件:

    于是我在store的beforeload事件裡用

       Store.setBaseParam(‘condition1’,value1);

Store.setBaseParam(‘condition2’,value2);

     每次store請求的時候自動觸發beforeload事件,把查詢條件都帶上。

     點選“上一頁下一頁”,好像沒什麼問題。

問題:

      假如我在第二頁,我改變查詢條件,到第三頁的時候 資料又不對了,不符合正常人的思維。

我該怎樣在每次點選查詢的時候 記錄下查詢條件,然後把它添加到翻頁請求中去呢?

看看store的這兩個屬性。

       baseParams:store每次請求資料的時候都會把baseParams的資料自動添加到請求參數中。

       lastOptions:store每次請求資料之後,都會把請求參數放進lastOptions中,store的reload方法就是利用lastOptions的記錄來重新請求資料的。

是以我在查詢的方法最後 将lastOptions指派給baseParams,大功告成。

代碼如下:

       store.load({

                  params: {

                     start: 0,

                     limit: 50,

                     condition1:value1,

                     condition2:value2,

                     condition3:value3,

                     condition4:value4,

                     condition5:value5

                  }

              });

Ext.apply(centerStore.baseParams,centerStore.lastOptions.params);    //将lastoptions指派給baseParams    

EXT