2011-07-25 8 views
7

フィルタを使用するグリッドで作業していますが、最初のページのみをフィルタリングします。 「次へ」をクリックすると、フィルタについて忘れてしまい、次のレコードセットが読み込まれます。ページングからレコードの次のセットを読み込むために「次へ」をクリックしても、フィルターを覚えておく方法を教えてください。ExtJSページンググリッドは最初のページのみをフィルタリングします

おかげで、あなたが店のbaseParamsにフィルタパラメータを設定する必要が SS

答えて

6

。ストアの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以下の場合のみです。 store.getProxy().extraParam= A JSON ENCODED QUERY のような: EXTJSの4.XXのために、私たちはあなたのクエリで、店舗のプロキシでextraParamを追加する必要がありますあなたのナビゲータ開発者ツールにしたり、バックエンドで、あなたの要求を調査し、適切な設定については store.getProxy().extraParam= Ext.JSON.encode({'sort':[{'id':'ASC'}]})

関連する問題