AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

VirtualTreeView und Sortieren

Ein Thema von TurboMagic · begonnen am 28. Apr 2021 · letzter Beitrag vom 6. Mai 2021
 
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.856 Beiträge
 
Delphi 12 Athens
 
#1

VirtualTreeView und Sortieren

  Alt 28. Apr 2021, 09:45
Hallo,

ich benutze einen VirtualTreeView (VST) als Grid zur mehrspaltigen
Anzeige von Listeneinträgen (TList<T> mit Records als Einträgen.

Im GetText wird der anzuzeigende Listeneintrag über Node.Index ermittelt.

Nun würde ich auch gerne beim Klicken auf den Header einer Spalte nach
dieser sortieren, muss aber auch die ursprüngliche Sortierreihenfolge wieder
herstellen können.

Ich kenne jetzt 2 Möglichkeiten um im VST zu sortieren:

1. Ich sortiere im OnHeaderClick meine Liste um, das funktioniert, führt
aber dazu, dass ich eine Kopie meiner originalen Liste anfertigen und bei
späteren Änderungen durch den Benutzer (Editieren eines Eintrags, Löschen
oder hinzufügen) synchron halten muss.

2. Ich nutze OnCompareNodes des VST, da funktionierte aber die Ausgabe dann
nicht d.h. das sortieren schien keinen Effekt zu haben, da ich ja über
Node.Index den entsprechenden Listeneintrag im OnGetText ausgebe und somit
immer noch den selben ausgeben würde, da ja in meiner Liste immer noch alles
am selben Platz ist.

Würde es etwas bringen, den jeweiligen Eintrag (der müsste dann ein Objekt oder
ein Zeiger auf den Eintrag werden) als NodeData an den VST Knoten zu hängen?
Dann wäre das VST nicht mehr so wirklich virtuell benutzt, aber die Reihenfolge
meiner Listeneinträge würde immer gleich bleiben. OnGetText müsste sich dann halt
aus den NodeData die Daten ziehen.

Oder gibt's noch einen anderen Ansatz ohne großes Umbauen meines existierenden Codes?

Grüße
TurboMagic
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:44 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