Primefaces数据表:设置bean的行颜色

时间:2016-09-26 15:55:10

标签: jsf primefaces datatable

此问题可能在第一时间显示为重复,但我没有找到其他人遇到同样的问题。

我们想在datatable中设置特定的行颜色。我们发现只有一种“漂亮”的方法:使用<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.4/css/bootstrap.min.css" integrity="sha384-2hfp1SzUoho7/TsGGGDaFdsuuDL0LX2hnUp6VkX3CUQ2K4K+xjboZdsXyp4oUHZj" crossorigin="anonymous">属性,它将应用rowStyleClass文件中定义的类的样式。

但在我们的例子中,颜色是从外部数据库视图中获取的,可以随时更改。这意味着我们无法在CSS文件中定义固定样式。

不幸的是,没有CSS属性。 有关如何根据bean十六进制值生成行颜色的建议吗?

(我们使用PF 5.3)

1 个答案:

答案 0 :(得分:1)

您无法使用rowStyle。但是,您可以通过编程方式更改css的{​​{1}}。从你的支持bean获得styleClass样式。

不要将以下css放入css文件中。只需将其放入显示style。{/ p>的jsf页面即可

datatable

MyBean.java

<style>
    .oddRowStyle {
        #{MyBean.oddRowStyle}
    }
    .evenRowStyle {
        #{MyBean.evenRowStyle}
    }
</style>
<p:dataTable .....  rowIndexVar="index" 
    rowStyleClass="#{(index mod 2) eq 0 ? 'evenRowStyle' : 'oddRowStyle'}"/>