使用asp.net mvc编辑jqGrid
问题描述:
我必须在Jqgrid中编辑一行。当我尝试选择任何行时,即使没有对该行进行任何更改,它也会被保存。我需要选择一行,只有当我做任何更改时才应该保存。任何人都可以帮我解决这个问题。 以下是代码。使用asp.net mvc编辑jqGrid
//for inline edit
$('#PayorList').setGridParam({
onSelectRow: function(id){
if(id && id != lastSel){
//save changes in row
//$('#PayorList').restoreRow(lastsel);
$('#PayorList').saveRow(lastSel, succesfunc,'','',aftersavefunc);
lastSel=id;
}
//trigger inline edit for row
$('#PayorList').editRow(id, true,oneditfunc, succesfunc,'','',aftersavefunc);
}
});
答
有没有简单的方法解决这个问题,使用API。您可以使用getRowData
检查编辑的行以确定是否有任何更改,但由于该行在该点处仍处于编辑状态,因此您必须解析原始HTML以获取值 - 您无法直接使用它们该方法。但是,如果您使用这种技术来确定某行的数据是否未更改,则可以致电restoreRow
撤消更改。
或者,你可以只需要saveRow执行 - 你没有真正说出它会给你带来什么样的问题。如果有真正的问题,你可以更具体吗?
答
我使用ondblClickRow
在内联编辑模式下切换jqGrid。如果用户按“enter”键或取消“esc”键,修改将被保存。也许这是你想要的方式。一个例子见jqGrid - edit only certain rows for an editable column。