das Datatable zeigt nur das zuletzt hinzugefügte Element an, es scheint, dass jedes Mal, wenn ich das commandButton drücke, die Methode die Liste neu schreibt, was kann ich tun, um das zu vermeiden?Primefaces DataTable zeigt nur das letzte Element an
JSF
<p:commandButton action="#{productoBean.setPedidoActual()}" value="Agregar" update="dt"/>
</p:panelGrid>
<p:dataTable value="#{productoBean.pedidoActual}" var="pedi">
<p:column headerText="Nombre">
<h:outputText value="#{pedi.descripcion}"/>
</p:column>
</p:dataTable>
Bean
public void setPedidoActual() {
Producto pro = productoFacade.find(idProducto);
listPedidoActual.add(pro);
}
public List<Producto> getPedidoActual() {
return listPedidoActual;
}
Was ist der Umfang Ihrer Bean? Wenn es RequestScoped ist, wird die Bean bei jedem Klick rekonstruiert. Wenn es Session- oder View Scoped ist, sollte der Listeninhalt beibehalten werden. – Abaddon666