丢弃CellTable中valueupdater的更新值失败

时间:2013-03-22 19:10:04

标签: gwt gwt-2.2-celltable

我希望在保留之前检查更新的值。 如果检查失败,我想放弃更新,但这不起作用。

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()方法并返回旧值,但仍会显示新编辑的值。 出了什么问题?

1 个答案:

答案 0 :(得分:2)

在你的else语句中调用clearViewData方法,如下所示

cell.clearViewData(KEY_PROVIDER.getKey(object)); table.redraw();