我希望在保留之前检查更新的值。 如果检查失败,我想放弃更新,但这不起作用。
EditTextCell cell = new EditTextCell();
Column<AnObject, String> column = new Column<AnObject, String>(cell) +
{ @Override public String getValue(AnObject object)
{ logger.info("getVal:"+object.getId()+", "+object.getAttr());
return object.getAttr();
}
};
column.setFieldUpdater(new FieldUpdater<AnObject, String>()
{ @Override public void update(int index, AnObject object, String value)
{ if (checkValue(value)
{ object.setAttr(value);
databaseUpdate(object);
} else
{ taskDataProvider.refresh(); // to display the original value. Doesn t work
}
}
});
调用列的getValue()方法并返回旧值,但仍会显示新编辑的值。 出了什么问题?
答案 0 :(得分:2)
在你的else语句中调用clearViewData方法,如下所示
cell.clearViewData(KEY_PROVIDER.getKey(object));
table.redraw();