我正在尝试更新cellTable的特定行,而不是在单击位于同一行的按钮时加载页面。
我只想更新作为TextColumn的Column1。我想更改特定列的文本。
任何人都可以帮助我吗?
先谢谢, Gnik
答案 0 :(得分:3)
如果要重绘整行,可以使用:
celltable.redrawRow(absIndex);
但是如果你想更新单个单元格并且性能很重要,你可以在CellTable的子类中执行此操作
public void updateCellContent(int absRowIndex, int cellIndex, String innerHtml) {
TableRowElement tr = getChildElement(absRowIndex);
if (tr != null) {
TableCellElement td = tr.getCells().getItem(cellIndex);
if (td != null) {
td.setInnerHTML(innerHtml);
}
}
}
答案 1 :(得分:2)
我想您使用ListDataProvider来存储,因为它在展示示例here中使用。
在这种情况下,您只需更新ListDataProvider中的数据,并在完成后调用
cellTable.redraw();
并且不要担心这样做时桌子不会闪烁:)
答案 2 :(得分:1)
查看https://stackoverflow.com/a/7109021/787660
当您使用ListDataAdapter并使用ListWrapper添加您的行时(不要害怕,您可以像List-Object一样使用它),自动触发刷新。