我使用带有EditTextCell的CellTable
当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());
但它也不起作用。
答案 0 :(得分:-1)
我对EditTextCell不是很了解,但对于其他小部件,我会捕获ChangeEvent(是否可以捕获它正在使用的单元?)然后如果我不想要用户则调用event.stopPropagation()采取行动发挥作用。