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

时间:2010-07-29 01:53:48

标签: jquery jqgrid jqgrid-asp.net

我正在使用ASP.NET wrapper for JqGrid。我想以编程方式为某些网格的events(例如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

但这一切都不起作用。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您可以使用setGridParam方法更改事件处理程序(请参阅附近问题Add an event handler to jqGrid after instantiation)。它必须以同样的方式为纪念和jqGrid的开源版本工作。试试下面的事情:

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