右键单击禁用jqGrid中的行选择

时间:2013-08-06 15:19:08

标签: javascript jqgrid

在jqGrid中,我正在使用以下内容禁用行选择:

beforeSelectRow: function() {
     return false;
}

这适用于左键单击。但是,我注意到它没有触发beforeSelectRow事件处理程序,并且在我右键单击时仍然选择该行。这对我来说是个问题,因为我正在实现自定义上下文菜单。

我可以通过提问者自己承认是在这里发现的黑客来解决这个问题: Is it possible to Stop jqGrid row(s) from being selected and/or highlighted?

还有其他不那么黑的方法吗?

谢谢!

更新

看来这只是subgrids的一个问题。请参阅此example。您会注意到左键单击不会选择行但右键单击会执行。

(我采取了懒惰的方式,从奥列格提供的另一个问题的答案中偷走了这个例子。)

1 个答案:

答案 0 :(得分:8)

如果要禁用行选择,可以配置onSelectRow以返回false,这将阻止左键单击和右键单击。

onSelectRow: function() {
     return false;
}

要在右键单击时强制取消选择行:

onRightClickRow: function () {
    grid.jqGrid('resetSelection');
    return false;
}