У меня проблема с простыми лицами для обновления dataTable. Проблема в том, что после отправки кнопки «изменить», база данных не обновляется - не с ajax = false, не с update = .... Может быть, у кого-нибудь есть идея?
Примечание: кнопка и дата в двух разных формах, но это не должно быть проблемой, работает для другого случая в моем проекте. И пользовательские заказы загружаются лениво, но я зарегистрировал список в бине, данные правильно доступны.
<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>