更新GWT单元格表的特定行

更新GWT单元格表的特定行,gwt,smartgwt,Gwt,Smartgwt,我试图在单击同一行中的按钮时,在不加载页面的情况下更新cellTable的特定行 我只想更新Column1,它是一个TextColumn。我想更改特定列的文本 有人能帮我吗 提前感谢,, Gnik我假设您使用ListDataProvider来存储showcase示例中使用的数据 在这种情况下,您只需更新ListDataProvider中的数据,完成后只需调用 cellTable.redraw(); 不用担心,这样做时桌子不会闪烁:看看 当您使用ListDataAdapter并添加行时,如示例中

我试图在单击同一行中的按钮时,在不加载页面的情况下更新cellTable的特定行

我只想更新Column1,它是一个TextColumn。我想更改特定列的文本

有人能帮我吗

提前感谢,,
Gnik

我假设您使用ListDataProvider来存储showcase示例中使用的数据

在这种情况下,您只需更新ListDataProvider中的数据,完成后只需调用

cellTable.redraw();
不用担心,这样做时桌子不会闪烁:

看看


当您使用ListDataAdapter并添加行时,如示例中使用ListWrapper所示,不要害怕,您可以像使用列表对象一样使用它,刷新会自动触发。

如果您想重新绘制整行,可以使用:

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);
        }
    }
}

你不需要重画,这太过分了。ListWrapper处理这种情况,请参见下面的示例…实际上我需要更改column1的文本。你能给我举个例子吗?先谢谢你,格尼克