我创建了一个包含300多行的CellTable,分为20页。我的菜单中有一个命令,允许用户根据某些列中的值突出显示行(类似于Excel中的条件格式)。
我需要帮助的是更改当前页面上不在的行的行样式。
我查看了Celltable和SimplePager文档,但没有任何内容突然出现在我面前。我对GWT很新,所以任何帮助都会非常感激。
答案 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();
}