2011-07-25 52 views
7

我正在使用過濾器的網格,但它只過濾第一頁。當我點擊「下一個」時,它會忘記我的過濾器並加載下一組記錄。即使我點擊「下一步」從分頁加載下一組記錄,如何讓它記住過濾器?ExtJS分頁網格過濾器只有第一頁

感謝, SS

回答

6

您需要設置濾波器參數進店的baseParams。在商店中調用load調用中的過濾器參數將僅將其用於第一次加載調用—由分頁工具欄進行的後續調用將不會通過它們。

store.setBaseParam('query', 'search-text'); // always send 'query' 
store.load({ params: { start: 0, limit: 40 } }); 
// this will send: 
// { query: 'search-text', start: 0, limit: 40 } 

store.load({ params: { query: 'bob', start: 41, limit: 40 } }); 
// baseParams overridden by load params 
// { query: 'bob', start: 41, limit: 40 } 

store.load(); // only sends baseParams 
// { query: 'search-text' } 

ExtJS的Ext.data.Storedocs有細節。

+0

真棒,謝謝WES我會嘗試這個,讓你知道。 –

-1

設置baseParams,如上面的答案,僅適用於EXTJS 3.x或更低版本。 對於EXTJS 4.XX,我們必須增加在商店的代理,一個extraParam與您的查詢: store.getProxy().extraParam= A JSON ENCODED QUERY 像: store.getProxy().extraParam= Ext.JSON.encode({'sort':[{'id':'ASC'}]}) 要進行正確的配置,探討您的要求,您的導航儀開發的工具或後端