Consulta em uma jTable no netbeans
10/01/2023
0
Estou com uma duvida eu criei uma jtable e na hora que clico em um botão consultar uma das colunas que seria a categoria ela se repete toda e estou com dificuldades em como resolver esse ponto de apenas referenciar isso eu estou usando o
private void configurarTabela() {
DefaultTableModel m = new DefaultTableModel() {
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
};
O problema é nesse nessa estrutura de repetição for abaixo onde quero concatenar duas colunas esta dando certo a concatenação mas a questão que a lista da categoria se repete varias vezes junto com os mesmo produto e eu quero apenas que mostre as categorias dos produtos que cadastrei. Abaixo esta a lista de como mostra o resultado quando clico:
2 ALIMENTO COCA-COLA 12/02/2000 12/06/2000 7.8
2 BEBIDA COCA-COLA 12/02/2000 12/06/2000 7.8
2 DOCES COCA-COLA 12/02/2000 12/06/2000 7.8
2 UTENCILIOS COCA-COLA 12/02/2000 12/06/2000 7.8
2 LIMPEZA COCA-COLA 12/02/2000 12/06/2000 7.8
2 FRIOS COCA-COLA 12/02/2000 12/06/2000 7.8
1 ALIMENTO FEIJÃO 12/07/2000 12/06/2000 6.8
1 BEBIDA FEIJÃO 12/07/2000 12/06/2000 6.8
1 DOCES FEIJÃO 12/07/2000 12/06/2000 6.8
1 UTENCILIOS FEIJÃO 12/07/2000 12/06/2000 6.8
1 LIMPEZA FEIJÃO 12/07/2000 12/06/2000 6.8
1 FRIOS FEIJÃO 12/07/2000 12/06/2000 6.8
2 ALIMENTO GIN TONICA 400ml 12/05/2022 12/10/2023 5.0
2 BEBIDA GIN TONICA 400ml 12/05/2022 12/10/2023 5.0
2 DOCES GIN TONICA 400ml 12/05/2022 12/10/2023 5.0
2 UTENCILIOS GIN TONICA 400ml 12/05/2022 12/10/2023 5.0
2 LIMPEZA GIN TONICA 400ml 12/05/2022 12/10/2023 5.0
2 FRIOS GIN TONICA 400ml 12/05/2022 12/10/2023 5.0
5 ALIMENTO SABONETE 12/07/2022 14/10/2002 5.8
5 BEBIDA SABONETE 12/07/2022 14/10/2002 5.8
5 DOCES SABONETE 12/07/2022 14/10/2002 5.8
5 UTENCILIOS SABONETE 12/07/2022 14/10/2002 5.8
5 LIMPEZA SABONETE 12/07/2022 14/10/2002 5.8
5 FRIOS SABONETE 12/07/2022 14/10/2002 5.8
Este é o Botão Listar por nomes:
configurarTabela();
List<Produtos> lista = new CadastraProdDAO().listarPorNome();
List<Categoria> list = new CadastraProdDAO().listaPorCategoria();
if (lista.size() > 0 ) {
if(list.size() > 0){
DefaultTableModel m = (DefaultTableModel)
tabResultado.getModel();
for (Produtos e : lista) {
for(Categoria c : list)
{
m.addRow(new Object[]{e.getId_Categoria(), c.getNome(), e.getProduto(), e.getData_Fab(), e.getData_Ven(), e.getPreco()});
}
}
tabResultado.setModel(m);
}
}else {
JOptionPane.showMessageDialog(
null, "Nenhum registro encontrado."
);
}
private void configurarTabela() {
DefaultTableModel m = new DefaultTableModel() {
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
};
O problema é nesse nessa estrutura de repetição for abaixo onde quero concatenar duas colunas esta dando certo a concatenação mas a questão que a lista da categoria se repete varias vezes junto com os mesmo produto e eu quero apenas que mostre as categorias dos produtos que cadastrei. Abaixo esta a lista de como mostra o resultado quando clico:
2 ALIMENTO COCA-COLA 12/02/2000 12/06/2000 7.8
2 BEBIDA COCA-COLA 12/02/2000 12/06/2000 7.8
2 DOCES COCA-COLA 12/02/2000 12/06/2000 7.8
2 UTENCILIOS COCA-COLA 12/02/2000 12/06/2000 7.8
2 LIMPEZA COCA-COLA 12/02/2000 12/06/2000 7.8
2 FRIOS COCA-COLA 12/02/2000 12/06/2000 7.8
1 ALIMENTO FEIJÃO 12/07/2000 12/06/2000 6.8
1 BEBIDA FEIJÃO 12/07/2000 12/06/2000 6.8
1 DOCES FEIJÃO 12/07/2000 12/06/2000 6.8
1 UTENCILIOS FEIJÃO 12/07/2000 12/06/2000 6.8
1 LIMPEZA FEIJÃO 12/07/2000 12/06/2000 6.8
1 FRIOS FEIJÃO 12/07/2000 12/06/2000 6.8
2 ALIMENTO GIN TONICA 400ml 12/05/2022 12/10/2023 5.0
2 BEBIDA GIN TONICA 400ml 12/05/2022 12/10/2023 5.0
2 DOCES GIN TONICA 400ml 12/05/2022 12/10/2023 5.0
2 UTENCILIOS GIN TONICA 400ml 12/05/2022 12/10/2023 5.0
2 LIMPEZA GIN TONICA 400ml 12/05/2022 12/10/2023 5.0
2 FRIOS GIN TONICA 400ml 12/05/2022 12/10/2023 5.0
5 ALIMENTO SABONETE 12/07/2022 14/10/2002 5.8
5 BEBIDA SABONETE 12/07/2022 14/10/2002 5.8
5 DOCES SABONETE 12/07/2022 14/10/2002 5.8
5 UTENCILIOS SABONETE 12/07/2022 14/10/2002 5.8
5 LIMPEZA SABONETE 12/07/2022 14/10/2002 5.8
5 FRIOS SABONETE 12/07/2022 14/10/2002 5.8
Este é o Botão Listar por nomes:
configurarTabela();
List<Produtos> lista = new CadastraProdDAO().listarPorNome();
List<Categoria> list = new CadastraProdDAO().listaPorCategoria();
if (lista.size() > 0 ) {
if(list.size() > 0){
DefaultTableModel m = (DefaultTableModel)
tabResultado.getModel();
for (Produtos e : lista) {
for(Categoria c : list)
{
m.addRow(new Object[]{e.getId_Categoria(), c.getNome(), e.getProduto(), e.getData_Fab(), e.getData_Ven(), e.getPreco()});
}
}
tabResultado.setModel(m);
}
}else {
JOptionPane.showMessageDialog(
null, "Nenhum registro encontrado."
);
}
Joao
Curtir tópico
+ 0
Responder
Posts
10/01/2023
Frank Hosaka
Eu tentaria assim
for(Categoria c:list){m.addRow(new Object[]{e.getId_Categoria()}); for(Produtos e:lista){ m.addRow(new object[] {c.getNome(), e.getProduto(), e.getData_Fab(), e.getData_Ven(), e.getPreco()) }}
Responder
Clique aqui para fazer login e interagir na Comunidade :)