Datatable只显示最后添加的项目,似乎每次按下commandButton时该方法都会重写列表,我该怎么做才能避免这种情况?
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>
豆
public void setPedidoActual() {
Producto pro = productoFacade.find(idProducto);
listPedidoActual.add(pro);
}
public List<Producto> getPedidoActual() {
return listPedidoActual;
}
答案 0 :(得分:0)
您的setPedidoActual()
方法似乎只接收基于外观服务find(idProducto)
的一个项目,这是正确的吗?你检查了远程服务返回的内容吗?实际上可能只有一条记录。
除此之外,尝试从
重命名你的setter / getter getPedidoActual()
/ setPedidoActual()
到
getListPedidoActual()
setListPedidoActual()
现在您的方法名称与您的属性一致。
编辑:panelGrid标签发生了什么变化?您是故意遗漏还是从哪里开始?