質問
ユーザーが列ダイアログを使用して列を追加または削除すると、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 ...
}
}
所属していません StackOverflow