Primefaces DataTable仅显示最后一项

时间:2016-07-04 16:40:25

标签: java jpa primefaces datatable

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;
}

1 个答案:

答案 0 :(得分:0)

您的setPedidoActual()方法似乎只接收基于外观服务find(idProducto)的一个项目,这是正确的吗?你检查了远程服务返回的内容吗?实际上可能只有一条记录。

除此之外,尝试从

重命名你的setter / getter

getPedidoActual() / setPedidoActual()

getListPedidoActual() setListPedidoActual()

现在您的方法名称与您的属性一致。

编辑:panelGrid标签发生了什么变化?您是故意遗漏还是从哪里开始?