Filtro Jtable

6 respostas
V

Boa Tarde.

Tenho uma aplicacaco com um Jtable, e um TextField.

Gostaria de fazer um filtro com esses 2 conponentes.

No meu caso eu Uso um TableModel para implementar a Jtable.

Tem como eu fazer um filtro sem que seja necessario eu percorrer toda a Jtable ou ate mesmo do modelo e pesquisar Registro por Registro Comparando o Registro da tabela ou do modelo com o Conteudo do TextField?

obs. Eu programo em vb.net. E nessa linguagem eu utilizava o DataView onde eu simplesmente passava a minha instrucao para o Dataview e ele me retornava uma DataTable Temporaria com os dados de retorno da minha instrucao.
Ex. DataView…RowFilter = “Nome do Campo like '%” + txtpesquisa.Text + “%’”

Desde Ja agradeco!

6 Respostas

_fs

O Java 6 tem features para auxiliar a excecução desta tarefa. Mas se não pode usá-lo ainda, há esta boa alternativa:
http://www.publicobject.com/glazedlists/

Veja o que esta API permite:
http://www.publicobject.com/glazedlistsdeveloper/screencasts/filterlist/

E o tutorial/documentação escritos são bons também.

V

Andei dando uma olhada no 1.6.
Realmente tem um Tal de RowFilter que talvez possa me ajudar! ou nao!?

Os links sao otimos, porem, Eles utilizam varias classes criadas por eles para implementar uma classe de Filtro!

Deu pra ter uma ideia mas fica meio fora do alcance porque seria complicado eu copiar todas as classes que eles utilizam!!

_fs

Ahn … não precisa copiar todas as classes. Basta inserir o .jar no classpath de seu projeto.

V

Isso sim, é so adicionar o .jar. É que os links de download nao estao funcionando!

_fs

Estão funcionando sim.
https://glazedlists.dev.java.net/files/documents/1073/26113/glazedlists-1.5.0_java15.jar
https://glazedlists.dev.java.net/files/documents/1073/26112/glazedlists-1.5.0-source_java15.zip

V

Puxa cara, Ma sei la intaum, Hoje a tarde eu tentei varias veze baixar os .jar do Glazedlists mas dava erro de nao encontrado caminho http:
Talvez fosse a internet la da empresa que tava dando pa*!

Mas beleza, Muito obrigado!

Outra coisa, Criei uma funcao de Filtro. O problema é que eu nao utilizo algo como RowFilter.
No eventro do keyrelease do TxtFiltro eu chamo a funcao e passo o Texto digitato, o modelo no qual sera feito a pesquisa e a coluna do modelo.
Na funcao eu Percoro todas as linhas da coluna do modelo em busca da string digitada!

Nao ficou lento nem nada. O unico problema é esse. Eu tenho que percorrer todos os registros do modelo em busca da string Digitada!

Criado 18 de abril de 2006
Ultima resposta 19 de abr. de 2006
Respostas 6
Participantes 2