我有一个带有动态数量标签的手风琴。标签标题被设置为一个CSS类。这会使背景色成绿色或红色,具体取决于是否交付订单中的所有商品。只更新手风琴的标签Primefaces
对于每篇文章都有一个selectBooleanButton,并且对这些按钮的每次更改都应该更新实际的选项卡。
问题是:如何更新只是一个选项卡?当我更新整个手风琴时,第一个标签打开,另一个关闭。
<p:accordionPanel id="ordersAccordion" cache="true" value="#{ordersBean.orders}" var="order">
<p:tab
titleStyleClass="#{ordersBean.isOrderDelivered(order) ? 'ui-accordion-tab-delivered' : 'ui-accordion-tab-undelivered'}"
title="##{order.order_id} | #{order.printableOrderDate} | #{order.printableOrderTime} | #{order.user} | #{order.getDestination().toString()}">
<p:dataTable value="#{order.demands}" var="demand">
<p:column headerText="Artikel Nr.">
<p:outputLabel value="#{demand.article.articleNumber}" />
</p:column>
<p:column headerText="Name">
<p:outputLabel value="#{demand.article.name}" />
</p:column>
<p:column headerText="Beschreibung">
<p:outputLabel value="#{demand.article.description}" />
</p:column>
<p:column headerText="Haus">
<p:outputLabel value="#{demand.house.getLabel()}" />
</p:column>
<p:column headerText="Anzahl">
<p:outputLabel value="#{demand.quantity}" />
</p:column>
<p:column headerText="Mitarbeiter">
<p:outputLabel value="#{demand.employee}" />
</p:column>
<p:column headerText="Lieferstand" width="150" style="text-align: center">
<p:selectBooleanButton id="deliverdBtn" value="#{demand.delivered}" onLabel="Geliefert" offLabel="Geliefert" onIcon="ui-icon-check"
offIcon="ui-icon-close">
<p:ajax listener="#{ordersBean.saveDelivered(demand)}" update=":allOrders:ordersAccordion" />
</p:selectBooleanButton>
</p:column>
</p:dataTable>
</p:tab>
</p:accordionPanel>
处理同样的问题:http://stackoverflow.com/questions/31460044/how-to-ajax-update-components-in-single-tab -of-paccordion面板 - 从外部 – amphibient