Articles   Members Online: 3
-Article/Tip Search
-News Group Search over 21 Million news group articles.
-Delphi/Pascal
-CBuilder/C++
-C#Builder/C#
-JBuilder/Java
-Kylix
Member Area
-Home
-Account Center
-Top 10 NEW!!
-Submit Article/Tip
-Forums Upgraded!!
-My Articles
-Edit Information
-Login/Logout
-Become a Member
-Why sign up!
-Newsletter
-Chat Online!
-Indexes NEW!!
Employment
-Build your resume
-Find a job
-Post a job
-Resume Search
Contacts
-Contacts
-Feedbacks
-Link to us
-Privacy/Disclaimer
Embarcadero
Visit Embarcadero
Embarcadero Community
JEDI
Links
Accelerate TListView Turn on/off line numbers in source code. Switch to Orginial background IDE or DSP color Comment or reply to this aritlce/tip for discussion. Bookmark this article to my favorite article(s). Print this article
17-Sep-02
Category
VCL-General
Language
Delphi 2.x
Views
23
User Rating
No Votes
# Votes
0
Replies
0
Publisher:
DSP, Administrator
Reference URL:
DKB
			Author: Jonas Bilinkevicius

The TListView control is very slow if it contains a large amount of items. How do 
you accelerate it?

Answer:

One possibility is to use the functions 

TListview.AllocBy;
TListItems.BeginUpdate;
TListItems.EndUpdate;

This is still not enough for very large ListViews with more than 20.000 Items. Here 
it is better to use virtual ListViews :

1. Set Listview.OwnerData to "true"

2. Use the OnData-Event of the Listview-Component, e.g. :
1   
2   procedure TForm.ListViewData(Sender: TObject; Item: TListItem);
3   var
4     n: integer;
5     s: string;
6   begin
7     Item.SubItems.Clear;
8     for n := 1 to FList.Count - 1 do
9     begin
10      s := tStrings(FList[n])[Item.Index];
11      Item.SubItems.Add(s);
12    end;
13  end;


Of course you can not use TListView.AlphaSort to sort this kind of ListView. If you 
want to sort it, you have to write your own sort procedure.

The same method can be applied to accelerate TListBox Components with a large 
number of items:
set TListBox.Style to lbVirtual and use the OnData Event.

			
Vote: How useful do you find this Article/Tip?
Bad Excellent
1 2 3 4 5 6 7 8 9 10

 

Advertisement
Share this page
Advertisement
Download from Google

Copyright © Mendozi Enterprises LLC