通过条件在一个primefaces数据表中着色一个案例

时间:2017-03-13 16:30:45

标签: jsf primefaces datatable styles

我有一个名为credit的列,如果它包含" +"我希望它为红色。标志和红色如果它是" - "标志。这是我的桌子

<h:form>
    <p:dataTable value="#{accountBean.accounts}" var="account" rows="4">
        <p:column headerText="IBAN">
            <h:outputText value="#{account.iban}"></h:outputText>
        </p:column>
        <p:column style="#{account.solde = + ? 'color: green' : 'color: red'}">
            <h:outputText value="#{account.solde}"> </h:outputText>
        </p:column>
        <p:column headerText="Creation Date">
            <h:outputText value="#{account.date_creation}">
                <f:convertDateTime pattern="dd-MM-yyyy" />
            </h:outputText>
        </p:column>
        <p:column headerText="Type">
            <h:outputText value="#{account.type}"> </h:outputText>
        </p:column>
        <p:column>
            <p:commandButton value="transactions history" action="#{transactionBean.init(account)}" update="idTransactionForm"></p:commandButton>
        </p:column>
    </p:dataTable>
</h:form>

此功能不正确 style="#{account.solde = + ? 'color: green' : 'color: red'}" ,因为其条件仅适用于+或 - 符号。但我想要+ ....和-....

1 个答案:

答案 0 :(得分:0)

您可以使用以下步骤执行类似的操作

第1步:创建redClass Css

转到您的css文件并添加

.redClass{
background: #ee5f5b;
cursor: pointer;
}

每次调用此元素时,它都会更改背景颜色

第2步:在您的专栏中使用

你必须使用一个布尔条件来调用它(这意味着要有一个真或假的条件),比如我的列表是空的还是我的值等于什么

 <p:column rowStyleClass="#{account.condition = ? 'redClass' : null ">
        <h:outputText value="#{account.solde}"> 
         </h:outputText>
 </p:column> 

这意味着如果条件为真,它将使用'redClass'否则它将是正常的null

希望能帮到你。

相关问题