2012-03-15 36 views
0

私はfilterToolbarとsearchGridの両方でjqGridを使用しています。jqGrid filterToolbarとsearchGridのフィルタを同期

filterToolbarを使用して検索を実行してから、searchGridウィンドウを開くと、フィルタが正常に入力されます。

しかし、この後に何かを変更すると、この機能は機能しなくなります。

私は、このサンプルをテストすることによって説明することができます:http://srv04.wln.com.br/cpsadmin/sample

は、(任意の入力でたときにフォーカスリターンを押す)、検索を実行し、filterToolbarで「」フィールドの名前、住所および都市を入力してみてください。

その後、footerBarの 'Find Records'ボタンをクリックすると、filterToolbarの検索オプションに従って3つのフィールドが塗りつぶされた検索ウィンドウが開きます。

しかし、この後に何かしようとすると、ページを更新するので、何も問題はありません。

私はfilterToolbarとsearchGridの両方の機能を一緒に働かせ、2つの方法で利用したいと考えています。

+0

デモページhttp://srv04.wln.com.br/cpsadmin/sampleで 'jquery.jqGrid.min.js'の代わりに' jquery.jqGrid.src.js'を使用する方が良いでしょう – Oleg

+0

私の悪い...よくやった – iuristona

+0

私の答えの情報に加えて、常に 'gridview:true'を使うことをお勧めします。どんな不利益もなくパフォーマンスをさらに向上させるだけです。 – Oleg

答えて

1

recreateFilter: true検索オプションを追加できます。問題の正確な原因を見つけるには、デモページでjquery.jqGrid.min.jsの代わりにjquery.jqGrid.src.jsを使用する必要があります。

the answerで提案したrefreshSerchingToolbarの機能を使用することをお勧めします。もう1つanswerthe demoが面白いかもしれません。 localStorageの最後の検索フィルタ(およびその他の情報)を保存する方法を示します。同じページの訪問時に、以前に使用された検索フィルタが適用されます。

UPDATED:それは少し味わっの問題だが、私は個人的に設定を検索私のデフォルトアドバンスドとして設定

$.extend($.jgrid.search, { 
    multipleSearch: true, 
    multipleGroup: true, 
    recreateFilter: true, 
    closeOnEscape: true, 
    closeAfterSearch: true, 
    overlay: 0 
}); 

またはいくつかのより高度なバージョンを使用しています。フォーム編集のためrecreateFilter: trueのようなrecreateForm: trueは、常に私のデフォルト設定です。 jqGridのデフォルトを設定するのは何度も提案しましたが(例えばhere参照)、示唆は未解決のままでした。 Tony(jqGridの開発者)は、このテーマについて別の意見を持っています。

+0

オレグありがとう! 'recreateFilter:true'は" filterToolbarからsearchGridへ "という方法で解決しました。 それで、searchGridが同じフィールドに2つ以上のフィルタを使用できることを知っていても、道を邪魔する方法がありますか?つまり、searchGridのオプションを変更すると、filterToolbarに反映されますか? 例えばfilterToolbarのデフォルトフィルタは '' cn''なので、より粒度の高いフィルタを得るために、searchGridのオプションが '' bw'''に変更されたときに、filterToolbarの同じフィールドでthisWithフィルタも仮定します。 – iuristona

+0

@Iuri:ようこそ!あなたは見た[答え](http:// stackoverflow。com/a/6884755/315935)ここで私は 'refreshSerchingToolbar'を使用するように提案しました(私の答えの2番目の段落を参照)?それはまさにあなたが必要とするものです。フィルタツールバーは、高度な検索ダイアログで設定できる 'postData'の値で更新されます。任意の列で[searchoptions.sopt](http://www.trirand.com/jqgridwiki/doku.php?id=wiki:search_config#colmodel_options)を指定すると、ダイアログに表示される操作の順序を変更できます。 'sopt'の最初の操作はフィルターツールバーで使用されます。 – Oleg

+0

ありがとうございました。私は今あなたの答えを見ましたが、残念ながら[デモ](http://www.ok-soft-gmbh.com/jqGrid/SimpleLocalGridWithSearchingToolbarAndAdvanceSearching.htm)はあなたが[回答](http:// stackoverflow.com/a/6884755/315935)。 – iuristona

関連する問題