2012-02-09 10 views
0

サブグリッドとしてグリッドを使用するjqGridを使用するページがあります。私はまた、私のページにjQueryのUIスライダコントロールがあります。ユーザーがスライダを変更すると、スライダの背後にある値に対応するサブグリッドのフィールドの検索がトリガされます。jqGridのサブグリッドで外部パラメータを使用して検索をトリガーする

私はこれを行うための最良の方法を試してみるためにドキュメントを見てきましたが、thisのドキュメントは非常に混乱しています。それはまた、私はloadonce: trueを使っているので、私がやりたくないサーバへの別の呼び出しを行うようになっているようです。

私はサブグリッドの行を繰り返し処理し、条件に合致しない行でhide()を呼び出して回避策を講じることができましたが、これはページングを保持しません。このタイプの外部トリガー検索をサブグリッドで実行する最良の方法は何でしょうか?

答えて

0

私は逆jqGridソースファイル(私のサブグリッドのIDと一致する'[id^=grid_GR][id$=_t]'パターン)にtriggerToolbar方法を操作することによって解決策を見つけた:

function external_subgrid_search() { 
    var ruleGroup = '{"groupOp":"AND","rules":[{"field":"Inv","op":"bw","data":"25"}]}'; 
    $('[id^=grid_GR][id$=_t]').each(function() { 
     var p = $(this).getGridParam('postData'); 
     p.filters = ruleGroup; 
     $(this).setGridParam({ postData: p, search: true }).trigger("reloadGrid", [{ page: 1}]);    
    }); 
} 

私が入ったかのようにこれは「25」を同じことを行いますフィールド 'Inv'の検索ツールバーに追加します。これがVERYであることに注意してください。あなたが定義したかもしれないbeforeSearch関数やafterSearch関数を無視し、ローカルデータを持っていると仮定します。しかし、似たようなことをしようとしている誰かの出発点として働くことを願っています。

関連する問題