Я надеюсь, что FieldGrid является ListGrid.
Вы должны использовать setFields, чтобы прикрепить ListGridRecord к ListGrid
fieldGrid.setFields(fieldRec);
Попробуйте установить для autoSaveEdits ListGrid / FieldGrid значение false.
fieldGrid.autoSaveEdits(false);
Установка autoSaveEdits false создает взаимодействие «массовое обновление» / «массовое удаление», где изменения будут сохраняться для всех отредактированных ячеек (по строкам, если необходимо), пока не будет вызван ListGrid.saveEdits для сохранения определенногоrow или ListGrid.saveAllEdits вызывается для сохранения всех изменений в пакете.
Обновление
Используйте addRowEditorExitHandler для ListGrid и явно устанавливайте новые значения, как показано ниже
addRowEditorExitHandler(new RowEditorExitHandler() {
@Override
public void onRowEditorExit(final RowEditorExitEvent event) {
if (event.getRecord() != null) {
Record gridRecord = event.getRecord();
//This will be an update operations
}
else {
gridRecord = new Record();
//This will be a new record creation
}
if (FieldGrid.this.validateRow(event.getRowNum())) {
for (Object attribute : event.getNewValues().keySet()) {
//Here you will be able to see all the newly edited values
gridRecord.setAttribute(String.valueOf(attribute), event.getNewValues().get(attribute));
}
//Finally you will have a record with all unsaved values.Send it to server
addData(gridRecord);
}
}
});