Delphi-PRAXiS
Seite 2 von 2     12   

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/)
-   -   Delphi [VST] Spaltenbreite an längsten Eintrag anpassen (https://www.delphipraxis.net/134154-%5Bvst%5D-spaltenbreite-laengsten-eintrag-anpassen.html)

xZise 20. Mai 2009 09:49

Re: [VST] Spaltenbreite an längsten Eintrag anpassen
 
Zitat:

Zitat von generic
Ok, irgendwie sprechen wir immer aneinander vorbei!

Korrekt. Genau wie das Tegi meinte wollte ich das eigentlich haben... Und die Eigenschaft "Width" nützt mir da ja wenig.

Ich guck mir gleich mal madas Lösung an.

MfG
xZise

xZise 22. Mai 2009 10:56

Re: [VST] Spaltenbreite an längsten Eintrag anpassen
 
Hallo,

also mit mades Lösung geht es wunderbar!

MfG
xZise

xZise 2. Aug 2009 22:03

Re: [VST] Spaltenbreite an längsten Eintrag anpassen
 
So die Lösung ist wunderbar, außer das sie relativ lange braucht. Und zwar braucht er für 160.000 Einträge mit 6 Spalten 1,4 Sekunden. Gibt es da irgendein Optimierungspotential?

MfG
xZise

anse 2. Aug 2009 22:42

Re: [VST] Spaltenbreite an längsten Eintrag anpassen
 
Ich würde nicht alle 160.000 durchrattern sondern nur die ersten - sagen wir mal - 1.000 . Der User scrollt in der Regel seltener nach unten als das er nach oben in die ersten Zeilen schaut - diesen Umstand kannst du nutzen.

xZise 3. Aug 2009 14:29

Re: [VST] Spaltenbreite an längsten Eintrag anpassen
 
Aber wenn er sortiert, muss ich wieder die obersten 1.000 Einträge abarbeiten.

Hmmm ich habe mal eine Frage: Welche Methode ruft er beim Doppelklick zwischen den Spaltenheadern auf? Weil das braucht nicht so lange!

MfG
xZise

anse 3. Aug 2009 17:13

Re: [VST] Spaltenbreite an längsten Eintrag anpassen
 
Zitat:

Zitat von xZise
Welche Methode ruft er beim Doppelklick zwischen den Spaltenheadern auf?

Du kannst das "AutoFit" Feature auch manuell anstoßen:
Delphi-Quellcode:
VT.Header.AutoFitColumns(False, smaUseColumnOption, 0, 1);
Zitat:

Zitat von xZise
Weil das braucht nicht so lange!

Ja, weil dann ebenfalls nicht alle 160.000 Nodes "geautofittet" (äh...) werden, sondern nur die Nodes die bisher initialisiert wurden, also diejenigen die schon einmal gemalt wurden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:19 Uhr.
Seite 2 von 2     12   

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