Bom dia pessoal, poderiam me dizer com eu poderia agrupar os produtos pela categoria utilizando um <p:dataGrid
> do primefaces 6.1
?
Eu tentei colocar um dataGrid
dentro do dataTable
mas os valores estão repetidos.
<p:dataTable id="dataListarProdutosg" reflow="true"
value="#{meuPedidoControlador.retornaListaProdutos()}"
expandableRowGroups="true" sortBy="#{pg.subCategoria.nome}"
emptyMessage="Nenhum produto encontrado" var="pg"
style="margin:10px 0px 0px 10px">
<p:headerRow>
<p:column>
<h:outputText style="font-size:14px"
value="#{pg.subCategoria.nome}" />
</p:column>
</p:headerRow>
<p:column>
<p:dataGrid var="p"
value="#{meuPedidoControlador.retornaListaProdutosSub(pg.subCategoria.id)}"
columns="3" layout="grid" id="dataListarProdutos"
binding="#{meuPedidoControlador.dataGrid}">
<p:panelGrid columns="1" style="width:100%; height:100%">
<p:commandButton title="" style="width:100%;height:100px;"
value="#{p.nome}" process="@this"
actionListener="#{meuPedidoControlador.addProdutoPedido}">
</p:commandButton>
</p:panelGrid>
</p:dataGrid>
</p:column>
</p:dataTable>
Lista todos os produtos:
@PostConstruct
public void init() {
produtos = produtoServico.listarInserirVenda();
}
public List<Produto> retornaListaProdutosSub(Long id){
return produtosGrid = produtoServico.listarPelaSubCat(id);
}
Os produtos se repetem