primefaces行扩展未更新

时间:2019-01-12 10:17:27

标签: jsf primefaces xhtml

我在更新数据表的质数方面遇到问题。问题是,在提交“更改”按钮后,不会更新数据tabel-不是使用ajax = false,不是使用update = ...。也许有人有主意吗?

注意:button和datatable有两种不同的形式,但是应该没问题,适用于我的项目中的另一种情况。并且userOrders延迟加载,但是我将列表记录在Bean中,数据正确可用。

<h:form rendered="#{orderModel.positions.size() > 0}">
        <p:commandButton icon="fa fa-edit" value="change" update=":table:orderDT, temp" action="#{orderModel.editOrder()}" rendered="#{orderModel.posChecked and orderModel.orderEditable}"/>
</h:form>

<h:form id="table" >
    <p:dataTable id="orderDT" rendered="#{orderModel.user.orders.size() > 0}" reflow="true" var="order" value="#{orderModel.userOrders}" selection="#{orderModel.tempOrder}" selectionMode="single" rowKey="#{order.id}" scrollable="true" style="margin: 20px">
         <p:ajax event="rowSelect" update=":table" listener="#{orderModel.onRowSelected}"/>
         <f:facet name="header">
               Getätigte Bestellungen
         </f:facet>
         <p:column style="width:16px">
                <p:rowToggler/>
         </p:column>
         <p:column headerText="Bestellnummer">
                 <h:outputText value="#{order.id}"/>
         </p:column>


         <p:rowExpansion>
                  <p:dataTable id="exp" var="pos" value="#{order.orderPositions}" reflow="true">
                            <p:column headerText="Anzahl">
                                <h:outputText value="#{pos.quantity}"/>
                            </p:column>
                  </p:dataTable>
         </p:rowExpansion>
     </p:dataTable>
</h:form>

1 个答案:

答案 0 :(得分:0)

自行解决:我将rendered="#{orderModel.user.orders.size() > 0}修改为rendered="#{orderModel.userOrders.size() > 0},并添加了lazyLoading 。可能第一个就足够了,但我认为访问的字段应该相同。