当用户使用列对话框添加或删除列时,jqGrid中是否存在事件。 如果没有,是否有另一种方法来跟踪列更改。当我在不同的页面上显示网格时,我需要这个来保持选定的列。

有帮助吗?

解决方案

Welllll ....你自己正在展示对话,对吧?所以你已经在自己的代码中了?

我猜你真正的意思是“当用户点击'提交'时?”如果是这样,请查看 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