jqGrid z inlineNav: czy istnieje sposób na wymuszenie ponownego włączenia przycisku Dodaj?
Używam jqGrid 4.3.2 zinlineNav
opcja. Cała edycja siatki odbywa się lokalnieloadonce: true
iclientArray
. Gdy użytkownik zakończy edycję, kliknie przycisk Zapisz na formularzu, a cała siatka zostanie wysłana na serwer. W większości działa to świetnie, ale wpadłem na dziwność. Jeśli użytkownik doda nowy wiersz, a następnie kliknie przycisk zapisywania przed naciśnięciem klawisza Enter, aby potwierdzić zmianę lub odznaczenie nowo dodanego wiersza, przycisk dodawania w nawigatorze śródliniowym pozostaje wyłączony nawet po wywołaniusaveRow
przed wysłaniem i przeładowaniem. próbowałemresetSelection
irestoreRow
posaveRow
zadzwoń, ale żadna z tych prac. Mój kod zapisu:
$("#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;
});
Czy mogę przekonać nawigatora wbudowanego, że nowy wiersz zostanie zapisany, a użytkownik może dodać więcej wierszy?