这个问题在第一次出现时可能是重复的,但是我没有发现其他人有同样的问题。
我们想在datatable中设置特定的行颜色。我们发现只有一种"漂亮"的方法:使用rowStyleClass
属性,它将应用CSS
文件中定义的类的样式。
但是在我们的示例中,颜色是从外部数据库视图获得的,并且可以随时更改。这意味着我们不能在CSS
文件中定义固定样式。
不幸的是,没有rowStyle
属性。任何建议,我们如何可以设置基于生成的bean十六进制值行颜色?
(使用PF 5.3)
不能使用rowStyle
。但是,您可以通过编程方式更改styleClass
中的css
。从后台bean获取css
样式
不要将以下style
放在css文件中。把它放到你的jsf
页面,它会显示datatable
。
<style>
.oddRowStyle {
#{MyBean.oddRowStyle}
}
.evenRowStyle {
#{MyBean.evenRowStyle}
}
</style>
<p:dataTable ..... rowIndexVar="index"
rowStyleClass="#{(index mod 2) eq 0 ? 'evenRowStyle' : 'oddRowStyle'}"/>
MyBean.java
public String getOddRowStyle() {
/*Change Your style as programmatically*/
return "background-color: #F7F7F7!important ;";
}
public String getEvenRowStyle() {
/*Change Your style as programmatically*/
return "background-color: #05855F!important ;";
}