CellTable сохраняет старое значение TextInputCell

Я использую CellTable с EditTextCell

Когда EditTextCell запускает FieldUpdater, я хочу выполнить проверку и установить EditTextCell в старое значение, если проверка не удалась. Но я не могу найти, как обновить CellTable или указанную строку.

Вот кусок кода:

titleColumn.setFieldUpdater(new FieldUpdater<QuestionDto, String>() {

    @Override
    public void update(int index, QuestionDto object, String value) {

           if (!isValid(value)) 
                 // Here I need to set the EditTextCell to the value in my object
           else
                 // It's valid I do the work
       }
});

Я искал что-то вроде: ((EditTextCell)titleColumn.getCell(index)).setValue(object.getTitle());

Другое решение - сбросить все CellTable следующим образом:

table.setRowData(dataProvider.getList());

Но это тоже не работает.

1 ответ

Я не очень хорошо осведомлен о EditTextCell, но для других виджетов я бы поймал ChangeEvent (возможно ли перехватить его в ячейке, которую вы используете?), А затем вызвал event.stopPropagation(), если я не хочу, чтобы действие пользователя имело любой эффект.

Другие вопросы по тегам