我正在使用過濾器的網格,但它只過濾第一頁。當我點擊「下一個」時,它會忘記我的過濾器並加載下一組記錄。即使我點擊「下一步」從分頁加載下一組記錄,如何讓它記住過濾器?ExtJS分頁網格過濾器只有第一頁
感謝, SS
我正在使用過濾器的網格,但它只過濾第一頁。當我點擊「下一個」時,它會忘記我的過濾器並加載下一組記錄。即使我點擊「下一步」從分頁加載下一組記錄,如何讓它記住過濾器?ExtJS分頁網格過濾器只有第一頁
感謝, SS
您需要設置濾波器參數進店的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.Store
docs有細節。
設置baseParams
,如上面的答案,僅適用於EXTJS 3.x或更低版本。 對於EXTJS 4.XX,我們必須增加在商店的代理,一個extraParam
與您的查詢: store.getProxy().extraParam= A JSON ENCODED QUERY
像: store.getProxy().extraParam= Ext.JSON.encode({'sort':[{'id':'ASC'}]})
要進行正確的配置,探討您的要求,您的導航儀開發的工具或後端
真棒,謝謝WES我會嘗試這個,讓你知道。 –