Quantcast
Channel: GUJ - Tópicos com a tag java
Viewing all articles
Browse latest Browse all 17410

Ajuda com Pesquisa em Jtable

$
0
0

@gabriel_arashi escreveu:

Olá amigos, venho pedir humildemente ajuda para fazer uma pesquisa em uma Jtable que mostra dados de uma array list, em minha pesquisas na internet sobre o assunto não tenho compreendido muito bem sobre o assunto, apenas sei que tenho visto muito sobre tablemodel, tablerowsorter e muito mal sobre default table model.
Tenho um código que peguei da internet e tentei implementar no meu código, de inicio achei que funcionaria depois de fazer as devidas correções, mas infelizmente não.
Então peço uma ajuda para a correção do meu código e também uma ajuda para que eu possa entender com mais clareza sobre tal assunto que enfrento certa dificuldade, abaixo segue o código e agradeço muito desde já!
Trata-se de um programa que cadastra produtos com campos de codigo, quantidade, preço e descrição.

`

 public FrmProdutos() {
   initComponents();

    try {
        DecimalFormat df = new DecimalFormat("R$ #,###,##0.00;-R$ #,###,##0.00");
        mfPreco = new NumberFormatter(df);
        mfPreco.setValueClass(Double.class);
        DefaultFormatterFactory dffPreco = new DefaultFormatterFactory(mfPreco);
        txtPreco.setFormatterFactory(dffPreco);
    } catch (Exception ex) {
        JOptionPane.showMessageDialog(null, "Ocorreu um Exception na aplicação do NumberFormatter: " + ex.getMessage(),
                "Erro: ", JOptionPane.ERROR_MESSAGE);
    }
}

         private void btnGravarActionPerformed(java.awt.event.ActionEvent evt) {                                          
       int linha = tblProduto.getSelectedRow();
    try {
        Produto produtoTemp = new Produto();

        produtoTemp.setCodPro(Integer.valueOf(txtCodigo.getText()));
        produtoTemp.setDescricao(txtDescricao.getText());
        produtoTemp.setQuantidade((Integer) spnQuantidade.getValue());
        produtoTemp.setPrecoUnit((Double) txtPreco.getValue());

        if (oper == Operacao.GRAVAR) {
            pro.add(produtoTemp);
        }
        if (oper == Operacao.EDITAR) {
            pro.set(linha, produtoTemp);
        }
        else {
            for (Produto produto : pro) {
                if (produtoTemp.getCodPro() == produto.getCodPro()) {
                    produto.setDescricao(produtoTemp.getDescricao());
                    produto.setQuantidade(produtoTemp.getQuantidade());
                    produto.setPrecoUnit(produtoTemp.getPrecoUnit());
                }
            }
        }
        btnCancelarActionPerformed(null);
        atualizaTabela(pro);
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, "Ocorreu um erro ao Gravar"
                + e.getMessage(), "Erro:", JOptionPane.ERROR_MESSAGE);
    }
}

//duvida

private void btnPesquisaActionPerformed(java.awt.event.ActionEvent evt) {                                            
    
    TableRowSorter sorter = new TableRowSorter();
    tblProduto.setRowSorter(sorter);
    String texto = txtFiltro.getText();
    if (texto.length() == 0) {
        sorter.setRowFilter(null);
        JOptionPane.showMessageDialog(null, "Você Deve Informar um Valor!!!", "AVISO - Erro", JOptionPane.ERROR_MESSAGE);
    } else {
        try {
            sorter.setRowFilter(RowFilter.regexFilter("(?i)" + texto));
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null, "Valor Não Encontrado!!!", "AVISO - Erro", JOptionPane.ERROR_MESSAGE);
        }
    }
}

`

Mensagens: 1

Participantes: 1

Ler tópico completo


Viewing all articles
Browse latest Browse all 17410


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>