В jqgrid встроенное редактирование отслеживается двойным щелчком в ячейке.
Курсор расположен в первом редактируемом столбце.
Требуется второй щелчок, чтобы поместить курсор в ячейку, по которой щелкнули.
Как поместить курсор в ячейку, по которой щелкнули, чтобы начать редактирование inline?
В режиме редактирования ячейки нажатая ячейка получает фокус правильно.
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. Вопросы:
двойной щелчок в столбце флажка по-прежнему устанавливает фокус на первый столбец.
Я уменьшил ширину окна обзора и прокрутил вправо. Щелчок в крайнем правом столбце вызывает странное быстрое мигание: сетка прокручивается в крайнее левое положение, а затем обратно в правое положение.
Как исправить эти проблемы?