jqGrid multiselect - 仅使用复选框限制行的选择

Irv*_*nin 4 jqgrid multi-select

早上好,我正在研究一个有多重选择的jqGrid.

我需要仅使用multisel框来限制行的选择,而不是通过单击行的任何位置来限制行的选择.多数民众赞成是因为我需要通过单击某些单元格上的链接来执行某些操作,我不会更改活动的多选.我试图设置multiboxonly属性,但这不是我需要的.我没有找到任何其他来自定义网格的这个功能.

Ole*_*leg 15

您可以根据自定义的beforeSelectRow事件处理程序控制选择行的行.如果处理程序返回true,则将选择该行.如果返回false,则不会选择该行.

第二个参数beforeSelectRow事件对象,e.target是被点击的DOM元素.您可以获取<td>单击完成的单元格()$(e.target).closest('td').然后你可以使用$ .jgrid.getCellIndex来获取行的单元格的索引.colModel应该指向'cb'列中的索引,其中包含复选框.所以代码可能如下:

beforeSelectRow: function (rowid, e) {
    var $myGrid = $(this),
        i = $.jgrid.getCellIndex($(e.target).closest('td')[0]),
        cm = $myGrid.jqGrid('getGridParam', 'colModel');
    return (cm[i].name === 'cb');
}
Run Code Online (Sandbox Code Playgroud)

你可以在这里看到相应的演示.