关于在jqGrid中选择列的事件

当用户使用列对话框添加或删除列时,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 ... } }