Primefaces数据表:从bean中设置行颜色



这个问题在第一次出现时可能是重复的,但是我没有发现其他人有同样的问题。

我们想在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 ;";
}

相关内容

  • 没有找到相关文章

最新更新