Здравствуйте.
Стоит задача покрасить определенные колонки в таблице. Не проблема написал функцию закрашивания(Выполняется в методе 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;
}
});
}
Красит
Доскраливаю ниже