acho q já vi uma duvida dessas aki, mas nao consegui achar…
Utilizo um jcombobox com o autocomplete q o vinigodoy postou nessa thread http://www.guj.com.br/posts/list/100120.java
só q agora preciso carregar cerca d 60.000 nomes nesse componente… tá funcionando, mas tá mto lento na hora de digitar.
alguem tem alguma idéia pra deixar isso mais rápido?
valeu
Trazer esta quantidade não é muito legal não. Nem pro banco nem pra sua aplicação.
Analise bem o que vc quer, se não tiver outro jeito é melhor usar outro componente, ou outro formulário para buscas.
Então, acontece q pelo tipo de procedimento o melhor seria um componente desses, pq aceleraria MUITO o trabalho do pessoal, no dia-a-dia.
a navegação, no código, é rápida pq uso hashmap… ele demora menos d um segundo pra carregar tudo do banco. Meu problema tá no componente…
Como faço, por exemplo, pra ordenar esses nomes? há algum tipo de organização q melhore a performance?
o já estou fazendo é só carregar depois de umas 3 letras terem sido digitadas…
60000 é muito para renderizar, exiba somente 50/100 e deixe o usuário ir filtrando ate reduzir a poucos nomes. Quem pesquisa em uma lista de 2000 nomes mesmo filtrados?
Traga os 50/100 e forçe o usuário refinar o filtro.
Rapapel, Ae q tá, esse é o problema 2…
essa classe nao “filtra”, mas ela completa… e 90% dos nomes são similares a outros até a metade ou um pouco mais. O cara digita 10 teclas e obtem todos os dados do individuo com um enter… mas esse combo só completa, ele não filtra no popup os nomes q iniciam com o q o usuario digitou… to tentando descobrir como ativar este filtro.
Vou tentar ppopular o combo depois do usuario ter batido umas 3 teclas e vejo no q dá
[quote=zerokelvin]Rapapel, Ae q tá, esse é o problema 2…
essa classe nao “filtra”, mas ela completa… e 90% dos nomes são similares a outros até a metade ou um pouco mais. O cara digita 10 teclas e obtem todos os dados do individuo com um enter… mas esse combo só completa, ele não filtra no popup os nomes q iniciam com o q o usuario digitou… to tentando descobrir como ativar este filtro.
Vou tentar ppopular o combo depois do usuario ter batido umas 3 teclas e vejo no q dá[/quote]
Pelo que você disse, você precisa de algo que procure as coisas com um tipo de “LIKE %____%”, é isso? Por exemplo, há 20000 “José Aparecido da Silva”, só que alguns são “José Aparecido da Silva Medeiros”, outros são “José Aparecido da Silva Nascimento” e você gostaria que digitando “Medei” aparecessem só os que tivessem Medeiros no nome, não importando se estivesse no começo ou no fim