Я думаю, что лучше использовать Primefaces Datatable RowColor
Прежде всего, вы должны сделать styleclass в css.
CSS:
<style type="text/css">
.passed {
background-color: red !important;
}
.inProgress {
background-color: green !important;
}
</style>
Тогда вы должны использовать в datatable rowStyleClass
(это неправильно в вашем коде)
<p:dataTable var="var" value="#{someBean.dataList}" rowStyleClass="#{someBean.checkStatus(var.status)}">
<p:column headerText="Id">
<h:outputText value="#{var.id}" />
</p:column>
<p:column headerText="Status">
<h:outputText value="#{var.status}" />
</p:column>
.
.
.
</p:dataTable>
Для проверки статуса вы можете сделать в ManageBean метод или использовать что-то вроде простого примера с оператором inline if:
public String checkStatus(String status){
if (status.equals("InProgress")) {
//This is the styleClass in css
return "inProgress";
} else if (status.equals("Passed")){
//This is the styleClass in css
return "passed";
}else{
return null;
}
}