когда я вставляю / обновляю данные таблицы.
Я использую функцию getChangedCell для ввода данных перед вызовом API. вот так.
let inputData = _$myTable.getChangedCells('all');
$.ajax({
type: "POST",
url: "/api/services/InsertData",
dataType: "json",
data: inputData
})
Пожалуйста проверьте пример изображения .
Сначала отметьте флажок. после этого нажмите кнопку сохранения.
В этот момент обычно _ $ myTable.getChangedCells ('all') возвращает правильное значение.
Но иногда _ $ myTable.getChangedCells ('all') return []
Параметры таблицы:
_$myTable.jqGrid({
mtype: "GET",
datatype: "local",
autowidth: true,
shrinkToFit: false,
cellEdit: true,
colModel: [
{
name: "id",
key: true,
hidden: true
},
...
],
onSelectRow: function (id) {
if (id && id !== optionlastsel) {
_$myTable.jqGrid('restoreRow', optionlastsel);
_$myTable.jqGrid('editRow', id, true);
optionlastsel = id;
}
},
afterEditCell: function (rowid, cellname, value, iRow, iCol) {
var checkboxNameSet = _.pluck(_.where(_$myTable.jqGrid("getGridParam").colModel, { edittype: 'checkbox' }), 'name');
if (checkboxNameSet.includes(cellname)) {
$('#' + rowid + '').addClass("edited");
}
}
})
Параметры флажка:
{
label: 'IsActive',
name: "isActive",
editable: true,
edittype: 'checkbox',
editoptions: { value: "true:false" },
editrules: { required: true },
formatter: "checkbox",
formatoptions: { disabled: false },
align: "center"
}
Кроме того, все время сеть работала нормально.
Есть ли варианты, которые я пропустил или ошибся?
Спасибо за чтение.