Excluir item do jtable

12 respostas
E

Tnho esse método qe adiciona um item no Jtable. Mas quando excluo o item da tabela ele ainda entra no cadastro quando finalizo.
alguma sugestão para remover totalmente o item????
valeu!!

método adiciona no jtable

vb.setCodigoProduto(produtos.get(jc_produtos.getSelectedIndex()).getCodigo());
            vb.setQuantidade(Integer.parseInt(String.valueOf(jtf_quantidade.getValue())));
            vb.setValor(Double.parseDouble(String.valueOf(jtf_valorunitario.getValue())));
            vb.setLote(Integer.parseInt(String.valueOf(jtf_lote.getValue())));
            
             entrada.add(vb);
             
             String produto = String.valueOf(produtos.get(jc_produtos.getSelectedIndex()).getNome());
             String quantidade = String.valueOf(jtf_quantidade.getValue());
             String valor = String.valueOf(jtf_valorunitario.getValue());
             String lote = String.valueOf(jtf_lote.getValue());
                      
             String[] campos= new String[] {lote,produto,quantidade,valor,};
             tmProdutos.addRow(campos);

12 Respostas

N

Onde está a parte em que você remove o registro?

E
nrvolmar:
Onde está a parte em que você remove o registro?
private void excluirProdutoitem(){

         int linha =  t_dados.getSelectedRow(); 
         if (linha != -1){  
             t_dados.removeEditor(); 
             tmProdutos.removeRow(linha); 
              //limparfinalizar();
             if ((linha+1) <= tmProdutos.getRowCount()) {  
                  
                 t_dados.getSelectionModel().addSelectionInterval(linha,linha); 
               
             }  
          
         } else {  
             JOptionPane.showMessageDialog(null,"Selectione o item que deseja excluir na tabela!");  
         }  
    }
N

Poste a parte de atualizaçõa do cadastro também.

ViniGodoy

Que tipo de objeto é um tmProdutos? É um defaultTableModel ou um model próprio?

N

Eu acredito que você não está passando o objeto alterado para inserção no Banco de dados

E
nrvolmar:
Eu acredito que você não está passando o objeto alterado para inserção no Banco de dados

objeto tmProdutos é um defaultTableModel

metodo para cadastro

if (entrada.size()==0){
        JOptionPane.showMessageDialog(this, "Inclua pelo menos um produto");
        }else{
            try{
            EntradaControl vc = new EntradaControl();
           
                           
            String obs= String.valueOf(tf_obs.getText());
            String numeronota= (tf_numeronota.getText());
            int codigo= vc.buscarCodigoUltimaEntrada() + 1;
            
            
            for (int i = 0; i <entrada.size(); i++){
               
                entrada.get(i).setCodigofornecedor(fornecedores.get(jc_fornecedor.getSelectedIndex()).getCodigo());
                entrada.get(i).setUnidade(unidade.get(jc_unidade.getSelectedIndex()).getCodigo());
                entrada.get(i).setObsnota(obs);
                entrada.get(i).setNumeronota(numeronota);
                entrada.get(i).setDatacadastro(data);
                entrada.get(i).setCodigo(codigo);
            
                vc.cadastrarEntrada(entrada.get(i));
                cadastraEntradasaida();
            }
            JOptionPane.showMessageDialog(this, "Finalizada com sucesso");
            this.dispose();
        }catch (HeadlessException ex){
            ex.printStackTrace();
            JOptionPane.showMessageDialog(this, "Não realizada");
        }
    }
    }
N

Deixa eu entender… Você roda tudo local… daí terminou a configuração, confirma a transação. Daí tmProduto, é enviada para o cadasto.
Entao vc não esta passando o objeto atualizado para o cadastro

E

nrvolmar:
Deixa eu entender… Você roda tudo local… daí terminou a configuração, confirma a transação. Daí tmProduto, é enviada para o cadasto.
Entao vc não esta passando o objeto atualizado para o cadastro

isso coloco todos os itens no jtable . depois confirmo a operação.
é como vc falou.
o problema é como atualizar a lista após excluir um item.

N

use o metodo fireTableRowsDeleted;
e tente também fireTableRowsUpdated

E

nrvolmar:
use o metodo fireTableRowsDeleted;
e tente também fireTableRowsUpdated

Continua do mesmo jeito(ainda efetua o cadastro após a exclusão do item na tabela), mas valeu pela tentativa.
vc testou aí?

E

blz, dei um jeito. Depois coloco aqui, no caso se algum precisar.

Marcus_Java

pow eu presciso e vc não colocou ate hj rsrsrs

Criado 20 de abril de 2009
Ultima resposta 18 de set. de 2009
Respostas 12
Participantes 4