Иногда jqgrid getChangedCell не возвращать флажок изменен - PullRequest
0 голосов
/ 25 марта 2020


когда я вставляю / обновляю данные таблицы.
Я использую функцию 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" 
}

Кроме того, все время сеть работала нормально.

Есть ли варианты, которые я пропустил или ошибся?

Спасибо за чтение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...