我有EditTextCell专栏。我有些条件我希望从该单元格中清除数据。
在方法更新中的FieldUpdater
列中,我会进行一些检查。
如何在更新方法中清除此数据?
答案 0 :(得分:2)
您需要clearViewData
和redrawRow
:
final CellTable<MyTableType> table = new CellTable<MyTableType>();
final MyEditTextCell cell = new MyEditTextCell();
Column<MyTableType, String> column = new Column<MyTableType, String>(cell) {
@Override
public String getValue(MyTableType object) {
if(object.getValue() == null)
return "";
else
return object.getValue();
}
};
column.setFieldUpdater(new FieldUpdater<MyTableType, String>() {
@Override
public void update(int index, MyTableType object, String value) {
if(Window.confirm("Replace with \"" + value + "\"?"))
object.setValue(value);
else {
cell.clearViewData(object);
table.redrawRow(index);
}
}
});