Dynamiczna zmiana koloru komórki h: datatable lub stylu w JSF
Mam datatable, w którym chcę zmienić kolor komórki na podstawie analizy przeprowadzanej na zawartości. Tabela jest połączona z tablicą obiektów Comment, której podałem String cssClass, który jest aktualizowany po uruchomieniu analizy. To właśnie próbowałem podłączyć do właściwości rowClasses obiektu datatable. Nie działa i myślę, że problem może polegać na tym, że nie mogę uzyskać dostępu do zmiennej utworzonej dla każdego wiersza datatable, z wewnątrz deklaracji datatable.
Kod danych:
<h:dataTable value="#{post.comments}" var="comment" class="hs-table" rowClasses="#{comment.cssClass}" >
<h:column>
#{comment.name}
</h:column>
<h:column>
#{comment.email}
</h:column>
<h:column>
#{comment.msg}
</h:column>
</h:dataTable>
Klasa komentarza:
public class Comment {
private String msg;
private String email;
private String name;
private Date date;
private String cssClass;
public Comment(){
cssClass = "normColumn";
}
epublic String getCssClass() {
return cssClass;
}
public void setCssClass(String cssClass) {
this.cssClass = cssClass;
}
}
Gdzie aktualizacja cssClass jest przeprowadzana w zarządzanym komponencie bean:
if(tone>0)
c.setCssClass("commentPos");
else if(tone<0)
c.setCssClass("commentNeg");
Klasa nigdy nie zostanie przydzielona. Czy robię coś złego, czy to po prostu niemożliwe?