Выделите строки с помощью GWT CellTable

Я создал CellTable с более чем 300 строками, разделенными на страницы по 20. В моем меню есть команда, которая позволяет пользователю выделять строки на основе значений в некотором столбце (аналогично условному форматированию в Excel).

Мне нужна помощь, чтобы изменить стили строк для строк, которых нет на текущей странице.

Я просмотрел документацию Celltable и SimplePager, но ничего не бросилось мне в глаза. Я очень новичок в GWT, поэтому любая помощь будет очень признательна.


person ctp_9    schedule 24.05.2012    source источник


Ответы (1)


Я создал функцию, которая выглядела так (где 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();
}
person ctp_9    schedule 29.05.2012