使用GWT CellTable突出显示行

时间:2012-05-24 17:03:58

标签: gwt highlight celltable

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

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

我查看了Celltable和SimplePager文档,但没有任何内容突然出现在我面前。我对GWT很新,所以任何帮助都会非常感激。

1 个答案:

答案 0 :(得分: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();
}