在 p:datatable 中设置单元格的背景颜色
Set the background color of a cell in a p:datatable
我有一个 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
:
我该如何解决这个问题?
在你的例子中,检查的 <span />
是空的,所以没有什么可以用自定义背景着色。那是因为您没有设置单元格的背景颜色,而是设置单元格内容的背景颜色。我建议通过以下方式设置单元格本身的背景颜色:
<p:column
sortBy="#{salle.couleur}"
style="#{empty salle ? '' : 'background-color: #'.concat(salle.couleur).concat(';')}"
>
...
</p:column>
因此,即使单元格内容为空,单元格本身也将具有自定义背景色。 ternary operator 中的 empty salles
条件防止列 header 也变色。
我有一个 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
:
我该如何解决这个问题?
在你的例子中,检查的 <span />
是空的,所以没有什么可以用自定义背景着色。那是因为您没有设置单元格的背景颜色,而是设置单元格内容的背景颜色。我建议通过以下方式设置单元格本身的背景颜色:
<p:column
sortBy="#{salle.couleur}"
style="#{empty salle ? '' : 'background-color: #'.concat(salle.couleur).concat(';')}"
>
...
</p:column>
因此,即使单元格内容为空,单元格本身也将具有自定义背景色。 ternary operator 中的 empty salles
条件防止列 header 也变色。