У меня проблема с премьер-фейсами для обновления таблицы данных. Проблема в том, что после отправки кнопки «изменить» база данных не обновляется - ни с 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>





Решил сам: адаптировал rendered = "#{orderModel.user.orders.size() > 0} под rendered = "#{orderModel.userOrders.size() > 0} и добавлен lazyLoading. Вероятно, первого будет достаточно, но я думаю, что поля, к которым осуществляется доступ, должны быть такими же.
Привет, пожалуйста, минимальный воспроизводимый пример. В противном случае мы должны начать гадать, что неэффективно по времени.