当用户使用列对话框添加或删除列时,jqGrid中是否存在事件。 如果没有,是否有另一种方法来跟踪列更改。当我在不同的页面上显示网格时,我需要这个来保持选定的列。
答案 0 :(得分:1)
Welllll ....你自己正在展示对话,对吧?所以你已经在自己的代码中了?
我猜你真正的意思是“当用户点击'提交'时?”如果是这样,请查看afterSubmitForm。
答案 1 :(得分:0)
我认为他的意思是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 ...
}
}