はじめまして、fujiiです。
以前(2012-01-24 - Taste of Tech Topics)、ishidaさんが
バージョン4.3.1になると、フィルタリングに使用した検索条件が捕まえられない。
と話がありましたが、方法が見つかったので紹介します。
ちょっとおさらい
jqGridのテーブルの下に出せるアイコンをクリックすると出現する、
コイツを捕まえます。
サンプルに書いているのは、こんなコードです。
$("#sample1").jqGrid('navGrid','#pager1',{ add:false, edit:false, del:false, search:true}, {}, {}, {}, {multipleSearch: true}});
捕まえ方
どうやら、バージョン4.0.0からnavGridの仕様が変わったようで、
beforeShowSearchではなく、onSearchを使うだけでした(^^;
{multipleSearch: true, onSearch: function(){ var filters = $('#sample1').jqGrid('getGridParam', 'postData'); $('#filters').val(filters.filters); } }); // クリックの部分も改良しました。
余談ですが
beforeShowSearchが聞かないという話がありましたが、
実行するタイミングがフィルタ検索ダイアログを開いたタイミングに
なっているようです。
また、afterShowSearch というfunctionも定義できるようですが、
違いがあまり分からず。。。
ほかにもcloseAfterSearchをtrueにすると、
検索ボタン押下後にダイアログが閉じるなど、
機能が増えているようです。
調べてみると、色々と発見がありそうですね。