Обновите конкретную строку GWT cellTable - PullRequest
0 голосов
/ 11 января 2012

Я пытаюсь обновить конкретную строку ячейки таблицы без загрузки страницы при нажатии кнопки, которая находится в той же строке.

Я просто хочу обновить Столбец1, который является TextColumn.Я хочу изменить текст определенного столбца.

Кто-нибудь может мне помочь?

Заранее спасибо, Гник

Ответы [ 3 ]

3 голосов
/ 28 января 2014

Если вы хотите перерисовать всю строку, вы можете использовать:

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);
        }
    }
}
2 голосов
/ 11 января 2012

Полагаю, вы используете ListDataProvider для хранения, как это используется в примере с витриной здесь .

В этом случае вам просто нужно изменить данные в ListDataProvider, а когда это будет сделано, просто вызовите

cellTable.redraw();

И не волнуйтесь, стол не мерцает при этом:)

1 голос
/ 11 января 2012

Взгляните на https://stackoverflow.com/a/7109021/787660

Когда вы используете ListDataAdapter и добавляете свою строку, как в примере, используя ListWrapper (не пугайтесь, вы используете его как List-Object), обновление запускается автоматически.

...