TListView - Problem szybkości wczytywania danych

Odpowiedz Nowy wątek
2006-12-20 11:38
0

Witam.

Poszukuje rozwiązania problemu szybkości wczytywania danych do komponentu typu TListView.
Sprawa wyglada tak.
Na listę wczytywane jest około 4 000 wierszy tekstu, do 7 kolumn.Trzy z tych kolum przechowują wpisy, które składają sie z duzej ilości tekstu...
Załadowanie takiej ilosci danych na TListView trwa na moim komputerze (Athlon3000+) około 2.3s.
Proszę o pomoc jak szybciej wczytywać dane na listę.
Wiem, że można szybciej, bo sprawdzając na tych samych danych komponent stąd: http://www.delphi-gems.com/VirtualTreeview/
, czyli TVirtualtreeView cały proces wczytywania trwa u mnie około 150ms!
Ktoś się zapyta dlaczego zatem używam standardowego tListView, zamias TVirtualTreeView. Otóz, TListView mam opanowane perfekcyjnie, a podany przykładowy komponent, jest dosyć skomplikowany, jego poznanie zajełoby mi za duzo czasu.

Zatem mam kilka pytań.

  1. Jak zwiększyc szybkość wczytywania danych do ListView?
  2. Czy zastosowanie wskaźników przyspieszy ten proces? Jak zastosowac wskaźniki przy wczytywaniu danych na TListView? Proszę o przykład, niestety nie znam wskaźników...
  3. Jeśli powyzsze są niewykonalne, to proszę kogoś, kto zna komponent TVirtualTreeView o przyblizenie mi kilku kwestii (dema komponentu są zakręcone...), mianowicie:
    3a. W jaki sposób wczytuje sie dane do tego komponentu (cos ala ListView.Items.Add('cos');)
    3b. W jaki sposób odczytać wartość pola, np. 4 wiersza i 6 kolumny
    3c. Jak dodać obrazek do dowolnej komórki na liście, szczególnie do 1 kolumny (dowolny obrazek, różny w różnych wierszach kolumny)

To tyle, proszę o pomoc...
Pozdr


Zapraszam:
http://www.pawelporwisz.pl
Potrzebujesz instalator? Napiszę go za Ciebie (NSIS).
Potrzebujesz program? Napiszę go za Ciebie (Delphi).

Pozostało 580 znaków

2006-12-20 12:09
0

TListView.Items.BeginUpdade;
TListView.Items.EndUpdade;

Dzięki temu nie będzie odświerzany co element


<span style="color: blue">"Kolarstwo to jedna z najtrudniejszych dyscyplin sportu. Nawet najgorszy kolarz jest wciąż wybitnym sportowcem."
s.p. Marco Pantani
</span>

Pozostało 580 znaków

2006-12-20 12:28
Pepe(niezalogowany)
0
Oleksy_Adam napisał(a)

TListView.Items.BeginUpdade;
TListView.Items.EndUpdade;

Dzięki temu nie będzie odświerzany co element

Tak, oczywiście. Uzywam tych metod. Poszukuję dodatkowych "chwytów" ;)

Pozostało 580 znaków

2007-05-12 14:03
0
Pepe napisał(a)

Poszukuje rozwiązania problemu szybkości wczytywania danych do komponentu typu TListView.

Witam.
Postanowiłem odświeżyć posta, jako że nadal nie znam odpowiedzi...
Pokrótce przypomnę o co chodzi. Otóż, chciałbym was prosić o pokazanie, w jaki sposób można zrealizować kilka zadań przy użyciu komponentu TVirtualTreeView (http://www.delphi-gems.com). A są to:

  1. W jaki sposób wczytuje sie (usuwa) dane do tego komponentu (cos ala ListView.Items.Add('cos');)
  2. W jaki sposób odczytać wartość pola, np. 4 wiersza i 6 kolumny
  3. Jak dodać obrazek do dowolnej komórki na liście, szczególnie do 1 kolumny (dowolny obrazek, różny w różnych wierszach kolumny)
    To tyle, w sumie nie dużo ;)

Proszę o pomoc.
Dzięki


Zapraszam:
http://www.pawelporwisz.pl
Potrzebujesz instalator? Napiszę go za Ciebie (NSIS).
Potrzebujesz program? Napiszę go za Ciebie (Delphi).

Pozostało 580 znaków

2007-05-12 18:23
0

Tu po polsku Virtual Treeview
a tu po rosyjsku http://quadr0.pochta.ru/VirtualTreeview/virtualtreeview_pdf.zip


Nie jestem "kompletnym" idiotą,
kilku części nadal brakuje.

Pozostało 580 znaków

2007-05-12 19:13
0
teles4 napisał(a)

Tu po polsku Virtual Treeview
a tu po rosyjsku http://quadr0.pochta.ru/VirtualTreeview/virtualtreeview_pdf.zip

Oj, jak mogłem to przeoczyć? Dzięki.
Pozdr


Zapraszam:
http://www.pawelporwisz.pl
Potrzebujesz instalator? Napiszę go za Ciebie (NSIS).
Potrzebujesz program? Napiszę go za Ciebie (Delphi).

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0