2016-08-11 8 views
0

でセルの背景色を設定し、私は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

どのように私はこの問題を解決することができますか?

答えて

3

検査された場合、<span />は空ですので、カスタム背景で色付けするものはありません。それはあなたが細胞の背景色を設定するのではなく、細胞の内容を設定するためです。そこで、細胞の内容が空の場合でも、セル自体がカスタムの背景色を持つことになります

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

:私は介して細胞自体の背景色を設定することをお勧めします。 ternary operatorempty salles条件は、列見出しの色も変わらないようにします。