在p:datatable中设置单元格的背景颜色

时间:2016-08-11 10:16:29

标签: jsf-2 primefaces

我有一个表面datatable,我正在尝试设置background-color个单元格如下:

<p:column sortBy="#{salle.couleur}">  
                    <f:facet name="header">  
                        <h:outputText value="#{messages.Couleur}" />  
                    </f:facet>  
                    <h:outputText  style="background-color:##{salle.couleur}" />  
                </p:column>

#{salle.couleur}的值是这样的:0909e8,这就是为什么在值之前使用#的原因。

但它不起作用,当我检查html页面时,我可以看到该单元确实有一个background-color

enter image description here

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

在您的情况下,经过检查的<span />为空,因此无需为自定义背景添加任何颜色。这是因为您没有设置单元格的背景颜色,而是设置单元格内容的背景颜色。我建议通过以下方式在单元格上设置背景颜色:

<p:column
    sortBy="#{salle.couleur}"
    style="#{empty salle ? '' : 'background-color: #'.concat(salle.couleur).concat(';')}"
>  
   ...
</p:column>

因此,即使单元格内容为空,单元格本身也将具有自定义背景颜色。 <{3}}中的empty salles条件可以防止列标题变色。