我正在尝试为我的JQGrid中的几个列实现cellEdit功能,这完全发生在这里
'cellEdit': true, 'cellsubmit': 'remote',
EditUrl我正在动态设置。
但是当我在代码中使用这些行时,我无法在单击单元格时选择行。我在用
multiselect: true, multiboxonly: true,
这破坏了我的代码。请帮忙。我怎样才能获得cellEdit和行选择。
答案 0 :(得分:1)
您似乎无法一起使用multiselect: true
单元格编辑。您确实需要使用beforeSelectRow
回调来解决问题。
The demo演示了解决方案。它使用beforeSelectRow
的以下实现:
beforeSelectRow: function (rowid, e) {
var $self = $(this), iCol, cm,
$td = $(e.target).closest("tr.jqgrow>td"),
$tr = $td.closest("tr.jqgrow"),
p = $self.jqGrid("getGridParam");
if ($(e.target).is("input[type=checkbox]") && $td.length > 0) {
iCol = $.jgrid.getCellIndex($td[0]);
cm = p.colModel[iCol];
if (cm != null && cm.name === "cb") {
// multiselect checkbox is clicked
$self.jqGrid("setSelection", $tr.attr("id"), true ,e);
}
}
return false;
}
答案 1 :(得分:0)
从Oleg的评论中粘贴原始解决方案:
编辑jquery.jqGrid.src.js并添加return;
if(ts.p.cellEdit === true) {
if(ts.p.multiselect && scb && cSel){
$(ts).jqGrid("setSelection", ri ,true,e);
} else if (td.length > 0) {
ri = ptr[0].rowIndex;
try {$(ts).jqGrid("editCell",ri,ci,true);} catch (_) {}
}
return; // <---------------------------------------
}