我有一个表面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
:
我该如何解决这个问题?
答案 0 :(得分:3)
在您的情况下,经过检查的<span />
为空,因此无需为自定义背景添加任何颜色。这是因为您没有设置单元格的背景颜色,而是设置单元格内容的背景颜色。我建议通过以下方式在单元格上设置背景颜色:
<p:column
sortBy="#{salle.couleur}"
style="#{empty salle ? '' : 'background-color: #'.concat(salle.couleur).concat(';')}"
>
...
</p:column>
因此,即使单元格内容为空,单元格本身也将具有自定义背景颜色。 <{3}}中的empty salles
条件可以防止列标题变色。