我正在使用JqGrid 的 ASP.NET 包装器 http://www.trirand.net/demoaspnet.aspx。我想以编程方式连接一些网格的处理程序events http://www.trirand.com/jqgridwiki/doku.php?id=wiki:events (e.g. gridComplete
, resizeStop
).
我见过的所有示例都在创建网格对象时将事件连接为选项的一部分 - 例如:
$("#gridid").jqGrid({
...
onSelectRow: function(){ ... },
...
});
然而,ASP.NET 组件为我完成了这个初始设置。我可以在组件上自定义一些客户端处理程序,例如gridInitialized
;但(奇怪的是)只有一小部分事件以这种方式曝光。
那么:一旦网格初始化,有没有办法将处理程序附加到其事件?我尝试过类似的事情
$grid.setGridParam("resizeStop", function () { alert("!!") }); // DOESN'T WORK
and
$grid.resizeStop = function () { alert("!!") }; // DOESN'T WORK
当然还有标准的 jQuery 事件绑定语法
$grid.bind("resizeStop", function () { alert("!!") }) // DOESN'T WORK
但这都不起作用。
有任何想法吗?
您可以更改事件处理程序setGridParam
方法(参见一个封闭的问题实例化后向 jqGrid 添加事件处理程序 https://stackoverflow.com/questions/3148320/add-an-event-handler-to-jqgrid-after-instantiation/3149534#3149534)。对于 jqGrid 的商业版本和开源版本,它必须以相同的方式工作。只需尝试以下操作:
$('#gridid').jqGrid('setGridParam', { resizeStop: function(newwidth, index) {
alert("The column with the index " + index + " has now the width " + newwidth);
} } );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)