Я использую SetRowData установить некоторые строки данных в jqGridSetRowData и DirtyCells
jqColModel = gJqGrid.jqGrid('getGridParam','colModel');
rowData = gJqGrid.jqGrid('getRowData', rowid);
for (var i=0; i<newData.length; i++){
rowData[jqColModel[i+1].name] = newData[i];
}
gJqGrid.jqGrid('setRowData', rowid, rowData);
Это работает, как ожидалось. Строка jqGrid обновляется со значениями из объекта newData
.
Я тогда пытаюсь получить все измененные клетки с помощью
jqRows = gJqGrid.jqGrid('getChangedCells', 'dirty');
, но это, кажется, не работает. Я пытаюсь партии всех изменений и создать пользовательский сохранить событие
Мое определение сетки, как показано ниже
$(gJqSel_Table).jqGrid({
caption : 'jqGrid'
, datatype : 'local'
, loadonce : true
, data : formattedLineData
, colNames : customColNames
, colModel : customColModel
, autoencode : true
, rowNum : 1000
, keys : true
, sortable : false
, hidegrid : false
, multiselect : false
, altRows : false
, height : '100%'
, autowidth : true
, shrinkToFit : true
, cellEdit : gSettings.editMode
, cellsubmit : 'clientArray'
, afterEditCell : function (rowid) {
var $editControl = $("#" + rowid).find("input, select, textarea");
if ($editControl){
$editControl.on('paste', function(e) {
GridPaste(e, rowid);
});
}
}
});
Может кто-то обеспечить некоторые рекомендации о том, как я могу
использования объект JSON для установки всех значений ячеек строки
помещает каждую ячейку в строке как грязную, так что метод
getChangedCells
знает, что стоимость изменились?
одна потребность добавьте '' отредактированный '' класс в строки ('
Спасибо @Oleg Я использовал 'setRowData (rowid, false, 'edit')' для установки класса строк. Кажется, это работает. Спасибо за ваш комментарий – jasonscript
Добро пожаловать! – Oleg
Смежные вопросы