如果国家/地区列的文字是' UK',我想为一行数据表着色。这是我的XHTML文件:
<h:dataTable value="#{personBean.persons}" var="p"
rowStyleClass="#{p.country eq 'UK' ? 'colored' : null}">
<h:column >
<f:facet name="header">Country</f:facet>
"#{p.country}"
</h:column>
</h:dataTable>
这是我的CSS文件:
.colored {
background-color: #cceeff;
color: #FFFFFF;
}
我无法确定某一行是彩色的。
答案 0 :(得分:0)
原生JSF h:dataTable
不会按行计算rowStyleClass
。
它将在Primefaces p:dataTable
中发生。
您可以做的另一个选择是在String
处构建一个逗号分隔的ManagedBean
样式类,并将其提供给rowStyleClass
属性。
例如:
ManagedBean:
String rowStyles;
public void getRowStyles(){
for(Person p: persons){
rowStyles+=p.getCountry().equals("UK") ? "colored," : ",";
}
return rowStyles;
}
XHTML:
<h:dataTable rowStyleClass="#{personBean.rowStyles}" ...>