Pesquisa Rapida no Jtable com Banco de dados

5 respostas
welington2502

boa noite! tenho duas duvidas, estou enviando uma imagem que contem um cadastro de produtos.

1ª como eu poderia criar uma pesquisa rapida onde esta escrito pesquisa por produto, digitando uma letra ele apareceria a primeira letra correspondente a ela. ex: C de Cocacola ou outro item que começasse com C. eu sei q tem que usar o Like

"select id_cli, cliente, endereco, num, complemento, bairro, cidade, telefone, celular, obs FROM cadastro_clientes WHERE cliente LIKE '" + tfPesquisa.getText().toUpperCase() + "%'"

na classe ProdutoDAO está assim;

public List<Produto> getPesquisaRapida(Produto produto) {
        
        List<Produto> produtos = new ArrayList<Produto>();
        try {
            
            stmt = con.prepareStatement("SELECT produto from cadastro_produto where produto like ?%");
            stmt.setString(1, produto.getProduto().toUpperCase());
            rs = stmt.executeQuery();
            while (rs.next()) {
                produto = new Produto();
                produto.setProduto(rs.getString("produto"));
                produtos.add(produto);
            }
            stmt.close();
        } catch (Exception e) {
            System.out.println("Erro Classe ProdutoDAO getUpdateJtable: " + e.getMessage());
        }
        return produtos;
    }
}

No jFrame esta assim

private void tfPesquisaRapidaKeyReleased(java.awt.event.KeyEvent evt) {
                
        List<Produto> produtos = daoProduto.getUpdateJtable();
        if (produtos == null) {
            System.out.println("Nenhum produto encontrado");
        } else {
            String[] linha = new String[]{null, null, null, null, null};

            for (int i = 0; i < produtos.size(); i++) {
                jtabel1.addRow(linha);
                jtabel1.setValueAt(produtos.get(i).getIdProduto(), i, 0);
                jtabel1.setValueAt(produtos.get(i).getProduto(), i, 1);
                jtabel1.setValueAt(produtos.get(i).getValorProduto(), i, 2);
                jtabel1.setValueAt(produtos.get(i).getProdutoContinuado(), i, 3);
                jtabel1.setValueAt(produtos.get(i).getTipoProduto(), i, 4);
                
            }
        }
    }

fiz de uma forma procedural e funcionou agora q estou tentando fazer da maneira OO nao estou conseguindo. o que eu precisaria fazer no jFrame?

2º seria o seguinte onde esta escrito TRUE e FALSE teria como eu personalizar esse nome? +/- assim “Bloqueado”, etc

Grato!


5 Respostas

welington2502

Oi alguem disponivel para me ajudar?

zicky23

bom dia, gostaria de saber como vc conseguiu fazer a table com linhas de cores alternadas ?

valeu

welington2502

bom dia

Infelizmente não o fiz, essa faixa azul, é qdo vc seleciona o item q vc quer.

abs

zicky23

mas na foto ai sem ser a linha selecionada as outras estão alternadas…

valeu

welington2502

Ahhh cara agora q vi, nao tinha prestado atençao.
entao esta sim, porem é de uma maneira que todos aqui esta abolindo q é a defaulttablemodel. estou tentando implementar a tablemodel mas esta osso.

mas no final da história, na defaultTablemodel ela faz sozinho

Criado 5 de abril de 2012
Ultima resposta 24 de abr. de 2012
Respostas 5
Participantes 2