ListView muuiiitttooo Lento com muitos Itens

Delphi

13/12/2004

Olá pessoALL,

Tenho um List view, que adiciono itens de acordo com a quantidade de dados em uma determinada tabela... perfeito... o meu problema é o seguinte, em uma tabela tenho simplesmente mais de 7000 itens, então adicionos-os perfeitamente, demora um pouco mais adiciona, o meu problema este em ListView.Items.Clear... ou seja, quando mando limpar o ListView ele demora o mesmo tempo que demorou, ou ate mais, quando eu inseria...

minha pergunta: tem como fazer isso Limpar o ListView, mais rapido?


desde ja agradeco

[]s


Titanius

Titanius

Curtidas 0

Respostas

Michael

Michael

13/12/2004

Olá amigo Fellipe!

O Listview não é um bom componente para se trabalhar com um grande número de registros (itens), pois ele consome muita memória para gerenciá-los. Portanto, se vc puder utilizar outro mais específico para isso, talvez a performance do seu aplicativo seja aumentada.

Mas se não, tente isso: antes de adicionar os ítens, coloque a linha

Listview1.Items.BeginUpdate;


e depois

ListView1.Items.EndUpdate;


Faça isso também antes de Items.Clear. Talvez acelere um pouco as coisas.

Espero ter ajudado!

Abraços!


GOSTEI 0
Titanius

Titanius

13/12/2004

Obrigado amigo, irei tentar!

Qual componente voce me aconselharia no mesmo estilo de List? Seria bom se tivesse acesso a tabela, facilitaria muito! :D


[]s


GOSTEI 0
Rodolpho123

Rodolpho123

13/12/2004

O uso de uma TreeView não poderia lhe ajudar?


GOSTEI 0
Titanius

Titanius

13/12/2004

Justamente, estou usando uma TreeView, para as ´Pastas´ e outra para o conteudo das pastas... Tipo explorer!

MAs teria como usar uma Treeview como List?


[]s


GOSTEI 0
Rodolpho123

Rodolpho123

13/12/2004

Vc pode inserir o conteúdo das pastas em sub-nós das mesmas, apenas inserindo imagems diferentes. Apartir daí, a TreeView fica muito mais rápida se vc transferir um nó que vc queira navegar, para uma variável, ex:
Var
nNo: TTReeNode;
begin
nNo := TTreeView1.Selected;
...
...
end;


GOSTEI 0
Titanius

Titanius

13/12/2004

Certo amigo rodolfo, porem... meu cliente quer a exibição no estilo List, assim ele nao gostaria... estou ficando sem opções :(


[]s


GOSTEI 0
POSTAR