質問

ユーザーが列ダイアログを使用して列を追加または削除すると、jqGridにイベントがあります。 そうでない場合は、列の変更を追跡する別の方法があります。別のページにグリッドを表示するときに、選択した列を保持するためにこれが必要です。

役に立ちましたか?

解決

Wellllll ....ダイアログを自分で表示していますよね?あなたはすでにあなた自身のコードにいますか?

「ユーザーが[送信]をクリックしたとき」とは本当にあなたが本当に言っていることだと思います。その場合は、 afterSubmitForm をご覧ください。

他のヒント

彼はjqGrid 3.6デモの列変更ダイアログを意味すると思います。

現在、このためのイベントはありませんが、まだ方法があります。グリッドメソッドcolumnChooserは、jqGridソースで次のオプションを受け入れます。

"done" : function(perm) { if (perm) self.jqGrid("remapColumns", perm, true) },

独自のバージョンの関数を提供してみてください(これを呼び出す場所についてはデモページを参照してください):

jQuery("#colch").jqGrid('columnChooser', {
   "done" : function(perm) { 
       if (perm) {
          jQuery("#colch").jqGrid("remapColumns", perm, true) 

          ( ... your code here ... )
       }
   }
});

これが機能すると仮定すると、次のコードを使用して、非表示になっている列を特定できます。

var colModel = $("#mygrid").getGridParam("colModel");
for (var i = 0; i < colModel.length; i++){
    if (colModel[i].hidden) { 

        ... store away colModel.name somewhere ... 

    }
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top