Хотя это старый вопрос, я хотел бы добавить пример явного вызова editRow
, а затем saveRow
, что является довольно частым случаем.
Следующий код позволяет пользователю простосвободно перемещаться между выбранными строками и сохранять предыдущую выбранную отредактированную строку:
var grid = $('#gridName').jqGrid({
// ... some grid properties ...
editurl: 'clientArray',
cellEdit: false, // that's the default, but just to make clear that wer'e in inline edit mode
onSelectRow: utils.onSelectRow
// ... some more grid properties ...
});
var utils = {
prevRowId: null, // we have to keep the previous row id
onSelectRow: function (rowId, selectionStatus, event) {
if (rowId && rowId !== utils.prevRowId) {
var $grid = $(event.target).closest('table');
$grid.jqGrid('saveRow', utils.prevRowId);
$grid.jqGrid('editRow', rowId, { keys: true });
utils.prevRowId = rowId;
}
},
};
Я не смог найти ни одного из официальных примеров Олега, делающих именно это (они все используют кнопки, , как этоодин или вызов retrieveRow
вместо saveRow
, как этот ).