更新GWT cellTable的特定行

时间:2012-01-11 06:45:11

标签: gwt smartgwt

我正在尝试更新cellTable的特定行,而不是在单击位于同一行的按钮时加载页面。

我只想更新作为TextColumn的Column1。我想更改特定列的文本。

任何人都可以帮助我吗?

先谢谢, Gnik

3 个答案:

答案 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一样使用它),自动触发刷新。