4

我创建了一个包含 300 多行的 CellTable,分为 20 页。我的菜单中有一个命令,允许用户根据某些列中的值突出显示行(类似于 Excel 中的条件格式)。

我需要帮助的是更改不在当前页面上的行的行样式。

我已经浏览了 Celltable 和 SimplePager 文档,但没有任何东西对我产生影响。我对 GWT 很陌生,因此我们将不胜感激。

4

1 回答 1

5

我创建了一个看起来像这样的函数(其中 redRow 和 yellowRow 是我的 CSS 中的样式):

private void highlightAlerts() {
    alertHighlight = true;
    Range range = siteTable.getVisibleRange();
    int start = range.getStart();
    for (int i=0; i<siteTable.getPageSize(); i++) {
        if (dataProvider.getList().get(start+i).alert.equals("Error"))
            siteTable.getRowElement(i).setClassName("redRow");
        else if (dataProvider.getList().get(start+i).alert.equals("Warning"))
            siteTable.getRowElement(i).setClassName("yellowRow");
    }

然后在我的寻呼机中,我将其添加到 onRowOrRowCountChanged() 以便在用户浏览表格页面时样式会持续存在:

protected void onRangeOrRowCountChanged() {
    super.onRowOrRountCountChanged();
    if (alertHighlight)
        highlightAlerts();
}
于 2012-05-29T16:26:08.253 回答