如何以编程方式处理JqGrid事件?

我正在为JqGrid使用ASP.NET包装器 。 我想以编程方式为一些网格事件 (例如gridCompleteresizeStop )连接处理程序。

我见过的所有示例都让您在创建网格对象时将事件连接起来作为选项的一部分 – 例如:

 $("#gridid").jqGrid({ ... onSelectRow: function(){ ... }, ... }); 

但是,ASP.NET组件为我执行此初始设置。 我可以在组件上自定义一些客户端处理程序,如gridInitialized ; 但是(奇怪的是)只有一小部分事件以这种方式暴露出来。

那么:一旦网格初始化,有没有办法将处理程序附加到其事件? 我尝试过类似的东西

 $grid.setGridParam("resizeStop", function () { alert("!!") }); // DOESN'T WORK 

 $grid.resizeStop = function () { alert("!!") }; // DOESN'T WORK 

当然还有标准的jQuery事件绑定语法

 $grid.bind("resizeStop", function () { alert("!!") }) // DOESN'T WORK 

但这一切都不起作用。

有任何想法吗?

您可以使用setGridParam方法更改事件处理程序(请参阅关闭问题在实例化后向jqGrid添加事件处理程序 )。 它必须以同样的方式为纪念和jqGrid的开源版本工作。 试试以下内容:

 $('#gridid').jqGrid('setGridParam', { resizeStop: function(newwidth, index) { alert("The column with the index " + index + " has now the width " + newwidth); } } );