GWT cell table,如何清除EditTextCell的输入?

GWT cell table, how to clear input of EditTextCell?

我有包含 EditTextCell 的列。在某些情况下,我想清除该单元格中的数据。

在方法更新的 FieldUpdater 列中,我做了一些检查。

如何在更新方法中清除这些数据?

您需要 clearViewDataredrawRow:

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);
        }
    }
});