ListView wyszukiwanie

0

Witam

Na formatce mojej aplikacji znajduje się ListView. W aplikacji istnieje możliwość wyszukiwania pozycji na liście. Chcę aby na ListView wyświetlone były tylko znalezione elementy.
Obiekt TListItem nie ma metody Visible, więc nie mogę ukryć zbędnych elementów. Obecnie robię to w ten sposób, że czyszczę listę a następnie kolejno dodaje pozycje do listy. Metoda ta jest jednak dosyć wolna jeśli na liście jest kilkaset obiektów. Czy jest jakaś inna (szybsza) metoda ukrywania i wyświetlania obiektów?

0

se ne da :(
use TVirtualTreeView Luc :p

0
gamestone napisał(a)

[...] czyszczę listę a następnie kolejno dodaje pozycje do listy. Metoda ta jest jednak dosyć wolna jeśli na liście jest kilkaset obiektów. [...]

a uzywasz beginUpdate i endUpdate? to znaczaca przyspiesza dodawanie wpisow. ostatecznie kilkaset to nie tak duzo...
dodanie 2000 itemow przy 4 kolumnach zajmuje u mnie ok 641ms. przy uzyciu begin-endupdate 266ms.

0

@cimak u mnie ListView nie posiada begin/end update :>

0
Misiekd napisał(a)

@cimak u mnie ListView nie posiada begin/end update :>

Każdy ListView to ma, ale w klasie TListItems (listview.Items.BeginUpdate)

Używam begin/endupdate. Przyspiesza to oczywiście działanie ale nieznacznie. Wyświetlam ikony w formie miniatur (ok 80x120). Używam TJVListView z pakietu jedi. Przerysowanie 200 elementów i sortowanie na słabszym komputerze trwa nawet 3 sekundy.
Wypróbuję jeszcze virtualtreeview

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