如何通过代码更新单元格值?

时间:2013-06-18 21:00:31

标签: java gwt uibinder

我有CellWidgetEditTextCell),我想通过代码手动设置特定值。但是,当我使用以下代码时,UI不会更新?我错过了什么?

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

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

2 个答案:

答案 0 :(得分: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文本单元上强制更新的正确方法,但至少它是有效的。

答案 1 :(得分:0)

我不是百分百肯定你在这里想做什么。您是否尝试更新CellTable中的特定单元格?在这种情况下,我不确定您的解决方案是否有效。如果您只想刷新表中的数据,那么您应该使用DataProvider,然后只需更改它,UI也应该更改。如果您想要表格来响应用户事件(例如点击一个单元格),您应该转而考虑handling Cell events