我创建了一个包含 300 多行的 CellTable,分为 20 页。我的菜单中有一个命令,允许用户根据某些列中的值突出显示行(类似于 Excel 中的条件格式)。
我需要帮助的是更改不在当前页面上的行的行样式。
我已经浏览了 Celltable 和 SimplePager 文档,但没有任何东西对我产生影响。我对 GWT 很陌生,因此我们将不胜感激。
我创建了一个看起来像这样的函数(其中 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();
}