FILTRO EM LISTVIEW....

LCSD 28/05/2007 09:43:53
#218455
Caros colegas, estou migrando todos o flexgrid para listview, e agora me deparei com uma certa dificuldade.......

Tenho um form de pesquisa de produtos, com um textbox e o listview. Tentei diversas formas de fazer um filtro dinamico, mas naum tive sucesso......

Vi alguns exemplos aki no vb, mas nenhum atendeu as minhas necessiade.

Oque eu preciso eh o seguinte.

Conforme vou digitando no txtbox, o listview vai filtrando.

é importante lembrar que neste momento o listview já esta carregado com os dados......

Outra informação importante é q neste cadastro de produtos tem mais de 10.000 itens....



LCSD 28/05/2007 10:05:57
#218463
Algum Exemplo ????
LIZANDRO 28/05/2007 11:59:33
#218482
O que uso é assim :

Dim itemX                           As ListItem

Set itemX = lstPrincipal.FindItem("o que vc quer procurar", lvwSubItem, , lvwPartial)
If Not itemX Is Nothing Then
itemX.EnsureVisible
itemX.Selected = True
End If

LCSD 28/05/2007 12:01:40
#218483
LIZANDRO.....mas conforme vc vai digitando ele vai filtrando....?
LCSD 28/05/2007 12:29:44
#218488
alguem ???
DANIELCPAETE 28/05/2007 12:41:26
#218492
bom meu velho mandei uma vez um exemplo de filtro com listview para o site de uma olhada neste exemplo que talves te ajude

http://www.vbmania.com.br/vbmania/vbmdetail.php?varID=1658
LCSD 28/05/2007 13:27:32
#218497
Daniel...obrigado pela disposição...mas o seu exemplo eu até ja tinha baixado......e localizar dessa forma eu consigo fazer.....o que naum consigo eh localizar enquanto vou digitando....e isso no listview ja carregado....

Eu até consigo fazer um efeito parecido, colocando o filtro no recordset, e carregando o listview no evento change da txtbox....mas fica uma gabiarra, e dependendo da quantdade de registro fica lento.....


Eu preciso mesmo eh filtrar o listview enquanto digito em uma txtbox, ou pelo menos selecionar o item desejado.


DANIELCPAETE 28/05/2007 14:20:48
#218508
bom mas entao o codigo do lizandro funciona perfeitamente pra vc é so vc colocar o mesmo no evento keypress e unir o chr(keyascii) ao seu texto tipo

variavel = text1.text & chr(keyascii)

Dim itemX As ListItem

Set itemX = lstPrincipal.FindItem(variavel,lvwSubItem, , lvwPartial)
If Not itemX Is Nothing Then
itemX.EnsureVisible
itemX.Selected = True
End If
USUARIO.EXCLUIDOS 28/05/2007 14:49:28
#218515
so colocar no evento change do text que vc esta digitando.
MARIOZNETO 28/05/2007 14:56:03
#218518
Uma instrução Sql não serviria ???

Falow... T+
DANIELCPAETE 28/05/2007 15:02:34
#218521
não sei se um sql seria interessante afinal vc ja carregou os itens no listview o ideal era usar o finditem mesmo
Página 1 de 2 [14 registro(s)]
Tópico encerrado , respostas não são mais permitidas