0

我有一个CellWidget( EditTextCell),我想通过代码手动设置特定值。但是当我使用以下代码时,UI 没有更新?我错过了什么?

@UiField(provided = true)
CellWidget<String> cell;

cell.setValue(text, true);
cell.redraw();
4

2 回答 2

0

我不是 100% 确定你想在这里做什么。您是否尝试更新 a 中的特定单元格CellTable?在这种情况下,我不确定您的解决方案是否有效。如果您只想刷新表中的数据,那么您应该使用 a DataProvider,然后只需更改它,UI 也应该更改。如果您希望表格响应用户事件(例如单击单元格),则应该考虑处理 Cell 事件

于 2013-07-01T22:20:17.913 回答
0

为了回答我自己的问题,我找到了一种解决方法:

    ((EditTextCell) cell.getCell()).clearViewData(KEY_PROVIDER.getKey(text));
    cell.getCell().setValue(new Context(0, 0, KEY_PROVIDER.getKey(text)), cell.getElement(), text);
    cell.setValue(text, true, true);

不知道这是否是在单个 cellwidget 文本单元上强制更新的正确方法,但至少它有效。

于 2013-06-21T11:09:45.560 回答