Ich nehme nochmal Bezug auf das Beispiel von Post #6:
In der Collection gibt es die Items "Archivdaten", "Temporäre Daten", "Neue Daten vorhanden" und "Irgendwas anderes". Im Baum sollen also die zugehörigen Daten in der zu dem Childnode gehörigen zweiten Spalte angezeigt werden. Damit das ganze etwas hübscher und aufgeräumter daherkommt, sollen diese Knoten noch die übergeordneten Knoten "Verzeichnisse" und "Benutzerhinweise" erhalten. Zu diesen beiden Knoten gibt es nun keine eigentlichen Daten (= Items in der Collection).
+-Verzeichnisse
| |
| +------Archivdaten
| +------Temporäre Daten
|
+-Benutzerhinweise
|
+------Neue Daten vorhanden
+------Irgendwas anderes
Ich denke die beste Lösung wird es sein die CollectionItems so beizubehalten, wie geplant und in den Knotendaten die ID und einen Zeiger auf das Item zu hinterlegen. Über die Knoten-ID kann ich per Getter-Funktion den passenden
GUI-Text ermitteln und über den Zeiger auf die Items die Daten für die zweite Spalte.
Um die Erstellung der
GUI dennoch einfach und übersichtlich zu halten, kann ich diese ja in einer Stringkonstanten im Quelltext hinterlegen, die von der o.g.
GUI-Klasse "aufgedröselt" wird.
So in etwa:
Delphi-Quellcode:
const
//Anzeigetexte für die GUI im Format ID|AuthReq|Knotentexte
CSettingsTree = '
10101|0|Verzeichnisse|Archivdaten,' +
'
10102|0|Verzeichnisse|Temporäre Daten,' +
'
10201|0|Benutzerhinweise|Neue Daten vorhanden,' +
'
10202|0|Benutzerhinweise|Irgendwas anderes';