在jqgrid中,通过双击单元格可以进行内联编辑。 光标定位到第一个可编辑列。 第二次点击需要将光标放置到被单击的单元格上。如何将焦点设置为单击以在jqgrid中开始内联编辑的单元格
如何将光标放到单击的单元格以开始内联编辑? 在单元格编辑模式下,单击的单元格正确接收焦点。
function beginInlineEdit(rowID, afterSave) {
var grid2 = $("#grid");
if (rowID && rowID !== lastSelectedRow) {
var scrollPosition = $("#grid").closest(".ui-jqgrid-bdiv").scrollLeft();
cancelEditing($("#grid"));
lastSelectedRow = rowID;
setTimeout(function() {
grid2.closest(".ui-jqgrid-bdiv").scrollLeft(scrollPosition);
}, 100);
}
$("tr#" + lastSelectedRow + " div.ui-inline-edit, " + "tr#" + lastSelectedRow + " div.ui-inline-del").hide();
$("tr#" + lastSelectedRow + " div.ui-inline-save, " + "tr#" + lastSelectedRow + " div.ui-inline-cancel").show();
$("#grid").jqGrid('editRow', lastSelectedRow, true, null, null, null,
{ _dokdata: FormData },
afterSave,
errorfunc,
function() {
cancelEditing($("#grid"));
setFocusToGrid();
}
);
}
更新1
我试图奥列格演示在IE9。问题:
在复选框列中双击仍将焦点置于第一列。
我减少了浏览窗口的宽度并向右滚动。点击最右边的列会导致奇怪的快速闪烁:网格滚动到最左边的位置,然后回到右边的位置。
如何解决这些问题?
我更新了我的答案。 – Oleg