此处的文档不是很清楚:
http://www.trirand.com/jqgridwiki/doku.php?id=wiki:inline_editing&s [] = editurl#saverow
在用户完成编辑表格单元格/行后,是否必须手动进行saveRow
调用,否则当行(单元格?)失去焦点时,jqGrid会自动触发saveRow吗?
我在初始设置中给jqGrid一个editurl
值,但是当我完成一行编辑时,我没有看到任何ajax请求。
答案 0 :(得分:6)
您有两种选择:
keys: true
。如果用户按 Enter ,将调用方法saveRow,如果用户按 Esc ,将调用方法restoreRow。如果您不需要明确调用saveRow。 onSelectRow内部通常会restoreRow调用一个示例。答案 1 :(得分:0)
尽管这是一个老问题,但我想添加一个示例,先显式调用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;
}
},
};
我找不到Oleg的官方示例之一就是这样做的(它们全部使用按钮as this one或调用retrieveRow
而不是saveRow
,as this one )。