更新された値を永続化する前に確認したい。チェックが失敗した場合、更新を破棄したいのですが、うまくいきません。
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() メソッドが呼び出され、古い値が返されますが、新しく編集された値は引き続き表示されます。何がうまくいかないのですか?