如何以编程方式在JQGrid上添加事件处理程序?

Her*_*ill 4 jquery jqgrid

我有一个已经初始化的JQGrid.如何为其添加事件处理程序?我试过了

grid.setGridParam({
    onSelectRow: function(rowid, status) {
        alert("onSelectRow");
    }
});
Run Code Online (Sandbox Code Playgroud)

但这没有做任何事情(没有错误,但在选择上也没有警报).


更新

事实证明上面的代码实际上工作正常 - 尽管@jitter指出新的API语法是首选.我的问题是grid指的是错误的对象.出于某种原因,在gridComplete事件处理程序中,$(this)不会返回对网格的引用,但$("#" + this.id)确实如此.

// handles the gridComplete event
gridInitialized = function() {
    var grid = $("#" + this.id); 
    grid.jqGrid("setGridParam", { onSelectRow: selectRow });
};
Run Code Online (Sandbox Code Playgroud)

jit*_*ter 9

这样做的正确方法(+使用新的API语法).不需要.trigger("reloadGrid")

grid.jqGrid("setGridParam", {
    onSelectRow: function(rowid, status) {
        alert("onSelectRow");
    }
});
Run Code Online (Sandbox Code Playgroud)