2016-09-26 19 views
1

multiselect: trueをjqgridに追加すると、jqgridが各行にチェックボックスを追加することがわかります。表示される各チェックボックスはオフになっています。グリッドを設定するために使用しているデータに基づいてこれらのチェックボックスをプリセットする方法はありますか?たとえば、グリッドにが選択されたという列があり、表示する行にの値が選択されている場合は、その行のチェックボックスをオンにして表示したいとします。行の選択されたフィールドがの場合、チェックボックスをオフにしておきたいと思います。これは可能ですか?jqgrid:複数選択チェックボックスの値

答えて

1

質問に対する回答は、使用するjqGridのフォークによって異なります。私は無料のjqGridフォークを開発し、multiPageSelection: trueオプションを実装しました。 selarrrow配列を入力するだけで済みます(たとえば、サーバから返されたデータに基づいてbeforeProcessingの内部で行うことができます)。 the answerのために作成されたthe demoを見てください。 selarrrow配列には、現在のページと同じIDが含まれていることがわかります。ページングまたは初期の空き充填中にjqGrid selarrrow配列に基づいてのチェクボックスの状態を設定します。この方法では、カスタムフォーマッタのように効果的です。rowattrまたはcellattrです。

無料のjqGridにアップグレードできない場合はsetSelectionloadCompletethe old answerを参照)の中に呼び出すことができます。使用量がmultiPageSelection: trueの場合と同じように動作が遅くなりますが、動作します。 loadComplete

0

データをループしてチェックを適用する必要があります。

+0

jqgridがオンザフライで追加する "cb"カラムは、私が定義しているカラムモデルの一部ではないので、私はそれをどうやって行うのだろうかと不思議です。 –

+0

はい、列が生成された後でこれを行う必要があります。すべてのチェックボックスに対して生成されるインデックスIDに基づいて – Yogesh

+0

列の生成時期を知るにはどうすればよいですか? –

1

は、この

var i; 
var rowids = $('#myTable').jqGrid('getDataIDs'); 
for (i = 0;i < count = rowids.length;i+=1) { 
    // condition to mark it check 
    $('#myTable').jqGrid('setSelection', rowids[i], false); 
} 

乾杯のようなものを持っています!

関連する問題