LISTVIEW

JABA 26/04/2007 20:46:53
#213940
Olá pessoal, existe alguma forma melhor (mais rápido) para preencher o ListView.

Eu faço assim:

Do while TB.EOF= False
Aqui eu preencho o ListView
Loop

Quando existem muitos dados, demora para carrega-lo. Existe alguma forma de tornar isso mais rápido?
WEBER 26/04/2007 22:35:50
#213946
CARA O LISTVIEW é ISSO MESMO VIA CODIGO OQ TU PODE FAZER PRA DISTRAIR O USUARIO é
COLOCAR UM PROGRESSBAR

Do while TB.EOF= False
dovents '<<< ccoloca o doevents pra q o sistema mostre passo a passo a pogressao e o preenchimento do list ao usuario
carrega o valor do progress '<< carregue o valor da barra do progress
assim tu nao deixa o teu usuario pensando q o sistema travou etc...
Aqui eu preencho o ListView
Loop

outra dica é sempre q tu tiver algum procedimento q possa vir a demorar mude a icone do ponteiro do mouse pra a ampulheta, e sempre q puder nesses casos coloque o doevents ele evita q o sistema de aquela "travada" pro usuario
DANIELCPAETE 27/04/2007 09:31:45
#213982
uma solução para não ficar piscando a tela seria vc colocar tb a api

Private Declare Function LockWindowUpdate Lib "user32.dll" _
(ByVal hWndLock As Long) As Long



 LockWindowUpdate ListView1.hwnd
Screen.MousePointer = 11
Do while TB.EOF= False
Doevents
'sua função pode ser com progressbar
Loop
LockWindowUpdate 0
Screen.MousePointer = 0


desta maneira você so ira mostrar o resultado quando terminar de carregar fica mais profissional


Tópico encerrado , respostas não são mais permitidas