Bom dia a todos!!!
Tenho um sistema de venda de produtos diversos, tela inicial:
Quando clico no botão Novo, abre-se uma janela:
Nesta segunda janela, o usuario preenche o nome do cliente, os demais campos são preenchidos automaticamente, o usuario tbm preenche a forma de pagamento, abaixo destes campos, coloquei uma grid, que ira receber as informações de cada produto escolhido.
Para selecionar os produtos o usuario clica em Adicionar Produtos, e então uma segunda janela se abre:
Nesta segunda janela tem um comboBox para selecionar o produto, um NumberField para definir a quantidade, o valor unitario é preenchido automaticamente no momento em que o produto é escolhido, e o valor total do item faz automaticamente a multiplicação entre quantidade e unitario.
Após escolher o produto o usuario vai clicar em Add Produto e o produto aparecera na grade…no momento em que o usuario clicar em Add Produto, a janela NÃO irá se fechar, pois ele poderá lançar um segundo ou mais produtos, e todos serão lançados na grid.
O meu problema é o seguinte, eu gostaria que cada vez que um produto fosse add na grid, o formulário fosse limpo, para o lançamento do segundo produto, e assim por diante, então fiz o código desta forma:
btnAddProduto.addThemeVariants(ButtonVariant.LUMO_PRIMARY);
btnAddProduto.getStyle().set("margin-top", "20px");
btnAddProduto.addClickListener(e -> {
produtoVendido.setProduto(txtProdutos.getValue());
produtoVendido.setQuantidade(txtQuantidade.getValue().intValue());
NumberFormat formatacao = NumberFormat.getCurrencyInstance(new Locale("pt", "BR"));
try {
produtoVendido
.setValorTotalDoItem(formatacao.parse(txtValorTotalDoItem.getValue().toString()).doubleValue());
} catch (ParseException e1) {
e1.printStackTrace();
}
venda.addProduto(produtoVendido.getProduto(), produtoVendido.getQuantidade(),
produtoVendido.getProduto().getValor(), produtoVendido.getValorTotalDoItem());
addClickModal();
grid.getDataProvider().refreshAll();
txtProdutos.clear();
txtQuantidade.clear();
txtValorUnitario.clear();
txtValorTotalDoItem.clear();
});
Mas após clicar em Add Produto, somente os campos produto e quantidade são limpos, o valor unitário e total do item permanecem com os dados:
gostaria de saber, onde posso estar errando? Obg desde já!