gpt4 book ai didi

java - Primefaces 数据表中的样式 ENUM

转载 作者:行者123 更新时间:2023-12-02 13:04:58 24 4
gpt4 key购买 nike

我正在尝试使用 dataTable 的 rowStyleClass 属性将行的颜色设置为红色。条件是比较枚举,因此如果invoice.status eq InvoiceStatus.CANCELLED,那么它应该将css类“cancelled”应用于该行。我认为这可能不是将枚​​举与 EL 进行比较的正确方法。你能告诉我怎么做吗?


        <p:dataTable id="invoicesTable" widgetVar="invoicesTable" 
value="#{invoiceManager.invoices}"
var="invoice"
filteredValue = #{invoiceManager.filteredInvoices}"
paginator="true"
rows="15"
paginatorPosition="bottom"
paginatorAlwaysVisible="false"
emptyMessage="#{msg['warning.noData']}"
HERE's THE PROBLEM --> rowStyleClass="#{invoice.status eq CANCELLED ? 'cancelled' : null}">
<f:facet name="header">
<h:outputText value="#{msg['title.invoices']}" />
<p:outputPanel style="position: relative; left: 42%;">
<h:inputText id="globalFilter" onkeyup="invoicesTable.filter()" />
</p:outputPanel>
</f:facet>

<p:column headerText="#{msg['label.number']}" filterBy="#{invoice.number}" filterStyle="display: none;">
<h:outputText value="#{invoice.number}" />
</p:column>

<p:column headerText="#{msg['label.customerName']}">
<h:outputText value="#{invoice.customer.name}" />
</p:column>

<p:column headerText="#{msg['label.action']}" styleClass="actionsColumn">
<p:commandButton process="@this" action="confirmInvoice" icon="ui-icon-search" title="#{msg['button.viewInvoice']}" >
<f:setPropertyActionListener target="#{invoiceManager.invoice}" value="#{invoice}" />
</p:commandButton>
<p:commandButton process="@this" action="#{invoiceManager.changeInvoiceStatus}" icon="ui-icon-flag" title="#{msg['button.changeInvoiceStatus']}" >
<f:setPropertyActionListener target="#{invoiceManager.invoice}" value="#{invoice}" />
</p:commandButton>
</p:column>
</p:dataTable>

最佳答案

枚举在 EL 中被解释为字符串。您需要引用枚举值。

rowStyleClass="#{invoice.status eq 'CANCELLED' ? 'cancelled' : null}"

或者,您可以向枚举添加一个新方法,

public String getStyleClass() {
return name().toLowerCase();
}

并按如下方式使用

rowStyleClass="#{invoice.status.styleClass}"

关于java - Primefaces 数据表中的样式 ENUM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15573399/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com