Закрашивание всех записей в таблице

Здравствуйте.
Стоит задача покрасить определенные колонки в таблице. Не проблема написал функцию закрашивания(Выполняется в методе onInit). Со своей задачей она справляется, но только тех записей которые визуально попали при инициализации таблицы. Как сделать так чтобы он покрасил все записи вне зависимости от скролла.

Код закраски
public void setStyleProvider() {
dspPoolsTable.setStyleProvider(new Table.StyleProvider() {
@Nullable
@Override
public String getStyleName(DspPool pool, @Nullable String property) {
if (property == null) {
return “active-customer”;
} else if (property.equals(“bin”) || property.equals(“jurTaxpayerName”)) {
if (pool.getMeetings().size() > 0 && !pool.getStatus().equals(“Отказ”)) {
try {
Date lastStartDate = getDateWithoutTimeUsingFormat(pool.getMeetings().stream().sorted(Comparator.comparing(DspMeeting::getPlanStartDt).reversed()).collect(toList()).get(0).getPlanStartDt());
Date currentDate = getDateWithoutTimeUsingFormat(new Date());
if (currentDate.before(lastStartDate) && getDateDiff(lastStartDate, currentDate, TimeUnit.DAYS) >= 30) {
return “orange-context”;
} else if (currentDate.before(lastStartDate)) {
return “green-context”;
} else if (currentDate.equals(lastStartDate)) {
return “yellow-context”;
} else {
return “red-context”;
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
return null;
}
});
}
Красит
image
Доскраливаю ниже
image

public void setStyleProvider() {
dspPoolsTable.setStyleProvider(new Table.StyleProvider() {
@Nullable
@Override
public String getStyleName(DspPool pool, @Nullable String property) {
if (property == null) {
return “active-customer”;
} else if (property.equals(“bin”) || property.equals(“jurTaxpayerName”)) {
if (pool.getMeetings().size() > 0 && !pool.getStatus().equals(“Отказ”)) {
try {
Date lastStartDate = getDateWithoutTimeUsingFormat(pool.getMeetings().stream().sorted(Comparator.comparing(DspMeeting::getPlanStartDt).reversed()).collect(toList()).get(0).getPlanStartDt());
Date currentDate = getDateWithoutTimeUsingFormat(new Date());
if (currentDate.before(lastStartDate) && getDateDiff(lastStartDate, currentDate, TimeUnit.DAYS) >= 30) {
return “orange-context”;
} else if (currentDate.before(lastStartDate)) {
return “green-context”;
} else if (currentDate.equals(lastStartDate)) {
return “yellow-context”;
} else {
return “red-context”;
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
return null;
}
});
}

В документации есть пример использования StyleProvider.

Не надо @Override, надо @Install(to = ....).
Работает, проверено годами.
И в самплере тоже есть пример, со скроллом все работает, естественно.
demo10.cuba-platform.com/sampler/#main/1/sample

2 симпатии