我正在使用带有inlineNav
选项的 jqGrid 4.3.2。网格上的所有编辑都是在本地使用loadonce: true
和完成的clientArray
。当用户完成编辑时,他们单击表单上的保存按钮,整个网格被发布到服务器。在大多数情况下,这很好用,但我遇到了一个奇怪的问题。如果用户添加一个新行,然后在按 Enter 确认编辑或取消选择新添加的行之前单击保存按钮,则即使saveRow
在发布和重新加载之前调用之后,内联导航器上的添加按钮仍保持禁用状态。我在通话后尝试过resetSelection
,但这些都不起作用。我的保存代码:restoreRow
saveRow
$("#submitButton").click(function () {
$("#theGrid").jqGrid('saveRow', $("#selectedRowId").val(), false, 'clientArray');
if (!ValidateGridData())
return false;
var rowData = $("#theGrid").jqGrid('getRowData');
var dataToSend = JSON.stringify(rowData);
$.ajax({
url: '@Url.Action("UpdateGridData")',
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: dataToSend,
dataType: 'json',
async: false,
success: function (data, textStatus, jqXHR) {
$("#theGrid").jqGrid('setGridParam', { datatype: 'json' });
$("#theGrid").trigger('reloadGrid');
},
error: function (jqXHR, textStatus, errorThrown) {
alert('Error saving data: ' + textStatus + " " + errorThrown);
}
});
return true;
});
有没有办法让内联导航器相信新行已保存并且用户可以添加更多行?