我在更新数据表的质数方面遇到问题。问题是,在提交“更改”按钮后,不会更新数据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>
答案 0 :(得分:0)
自行解决:我将rendered="#{orderModel.user.orders.size() > 0}
修改为rendered="#{orderModel.userOrders.size() > 0}
,并添加了lazyLoading 。可能第一个就足够了,但我认为访问的字段应该相同。