Прежде всего позвольте мне поблагодарить вас за чтение ваших ответов. Мне удалось найти это решение.Мне нужно было определенное поведение для редактирования ячеек.Мне нужно было иметь возможность выбрать только одну строку одним щелчком мыши.Нет мульти выбора.Мне нужно было редактировать ячейки, которые активировались по двойному клику.Мне нужно было иметь возможность отменить редактирование, если была нажата строка, отличная от выбранной.Мне также нужно было иметь возможность ограничить пользовательский ввод.Мои первые поиски в Google привели меня сюда, и я почти потерял надежду, когда наткнулся на другие материалы, которые вы опубликовали.
Вот решение, которое я придумал.Большая часть из ваших предыдущих ответов.Я сделал некоторые изменения.Так что большая часть этого кредита идет к вам, но я хотел опубликовать его здесь, чтобы помочь другим.Я впервые публикую решение, поэтому надеюсь, что оно понятно и поможет.
edit.iCol.edit.iRow и edit.rowID сохраняются, чтобы мы могли отменить редактирование.Используйте здесь свои собственные переменные для хранения этих значений.
cellEdit: true,
cellsubmit: 'clientArray',
beforeSelectRow: function(rowid) {
if (edit.iRow != null && rowid !== edit.rowID) {
$('#list').jqGrid("restoreCell",edit.iRow, edit.iCol);
edit.iRow = edit.iCol = null;
}
$('#list').jqGrid('setSelection', rowid);
},
afterSaveCell: function (rowid, name, val, iRow, iCol) {
alert("after");
},
beforeSaveCell: function (rowid, name, val, iRow, iCol) {
alert("before");
},
ondblClickRow: function (rowid, iRow,iCol) {
edit.iRow = iRow;
edit.iCol = iCol;
edit.rowID = rowid;
$("#list").editCell(iRow, iCol, true);
}