Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   TStringGrid / TAdvStringGrid: virtueller Modus (https://www.delphipraxis.net/154995-tstringgrid-tadvstringgrid-virtueller-modus.html)

hoika 4. Okt 2010 17:47

TStringGrid / TAdvStringGrid: virtueller Modus
 
Hallo #,

gibt es sowas wie eine virtuellen Modus auch beim TStringGrid ?
Ich trage etwa 1000 Zeilen ein (jaja ;) ).
Da die Daten auch gedruckt werden, will (muss) ich das so lassen.

Die Frage ist, wie kann ich das Füllen beschleunigen ?
Ich habe die Daten alle in einer TList, könnte also auch über Objects gehen.

Danke

PS:
BeginUpdate ist bereits drin.


Heiko

DelphiBandit 5. Okt 2010 10:15

AW: TStringGrid / TAdvStringGrid: virtueller Modus
 
Läuft ähnlich wie beim VirtualTreeView - es gibt einen Event OnGetDisplText. Denke Du brauchst also einfach nur Deinen RowCount entsprechend der Anzahl Deiner Objekte setzen und dort dann je nach Zeile aus der Eigenschaft Deiner Wahl den Anzeigetext aus dem korrespondierenden Objekt Deiner TList holen.

PS.: Hoffe ich habe den Sinn richtig verstanden. Wir arbeiten auch mit TAdvStringGrid und das mit deutlich mehr als tausend Zeilen in Quartalen gefaltet. Habe da noch keinen Geschwindigkeitsengpass sehen können, ist fast verzugslos in die Cells gefüllt. Nur mit Begin/EndUpdate

Wichtig - nicht RowCount in einer Schleife immer höher zählen, sondern vorher schon die Anzahl bestimmen und in einer einzigen Zuweisung setzen.

hoika 5. Okt 2010 10:35

AW: TStringGrid / TAdvStringGrid: virtueller Modus
 
Hallo,

danke, ich sehe es mir an.


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:33 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz