@Lucas_Camara
Bom dia, li toda a documentação, tentei quase tudo que estava la, embora só tenha feito(na documentação) apenas um referencia para getItem()
grid.setSelectionMode(SelectionMode.MULTI);
grid.addItemDoubleClickListener(event ->
copy(grid.getSelectedItems()));
tentei utilizar ele aqui…mas não deu certo, não da erro nenhum, mas ou não busca nenhum produto, ou busca todos os produtos, (se deixarlistaVendidosModal = venda.getProdutos();
) NÃO BUSCA NENHUM ou se deixar assim: (listaVendidosModal = produtoVendidoService.read();
)BUSCA TODOS
Vamos por partes. Qual o valor que é retornado de event.getItem() no evento de duplo clique?
1 curtida
Ótimo! O event.getItem() está retornando uma Venda (mas isso já era o esperado como dito pelo @RoinujNosde ).
Essa venda está com os dados preenchidos? Veja se a lista de produtos está preenchida e, mais importante, se está com o ID preenchido também.
Faça assim:
venda = event.getItem();
1 curtida
Lucas_Camara:
venda = event.getItem();
onde vc quer que eu faça isso?
Dentro do evento de duplo clique:
grdVenda.addItemDoubleClickListener(event -> {
venda = event.getItem();
binderVenda.readBean(venda);
dlgJanela.open();
});
Mas veja se as propriedades da venda retornada pelo event.getItem() estão preenchidos (especialmente o ID e a lista de produtos).
1 curtida
pelo que vi, tudo está preenchido correntamente, então coloquei este código que vc passou:
grdVenda.addItemDoubleClickListener(event -> {
venda = event.getItem();
binderVenda.readBean(venda);
dlgJanela.open();
});
mas não retorna nenhum produto…não da erro nenhum
Ah sim, para preencher a tabela de produtos, vc deve pegar esses produtos da classe venda.
Vi aqui que vc está usando o método populaGridVendidosModal para popular a grid de produtos vendidos:
private void populaGridVendidosModal() {
listaVendidosModal = produtoVendidoService.read();
atualizaGridModal();
}
Vc deve mudá-lo para ficar assim:
private void populaGridVendidosModal() {
listaVendidosModal = venda.getProdutos();
atualizaGridModal();
}
1 curtida
aqui eu ja havia mudado, acho que não fiz o push para git
grdVenda.addItemDoubleClickListener(event -> {
venda = event.getItem();
binderVenda.readBean((Venda) venda.getProdutos());
dlgJanela.open();
});
Tentei assim, mas não da certo, da um stack
Vc nao pode fazer esse cast, pois uma lista de produtos não é uma venda. O certo é da forma como passei mesmo.
E vendo aqui, acho que está faltando apenas vc chamar o método que popula a grid de produtos vendidos:
grdVenda.addItemDoubleClickListener(event -> {
venda = event.getItem();
binderVenda.readBean(venda);
populaGridVendidosModal();
dlgJanela.open();
});
E deixa o método populaGridVendidosModal assim mesmo:
private void populaGridVendidosModal() {
listaVendidosModal = venda.getProdutos();
atualizaGridModal();
}
1 curtida
Nossa cara, deu certo, mas a vontade que da é de xingar …algo tão simples(que eu não pensei nem por 1 segundo) e quando aprende, não da nem para acreditar…rs
Muito obg meu amigo, aprendendo muito com vc!!!
@RoinujNosde obg a vc tbm, sempre aprendendo contigo
1 curtida