Laden...

TreeView Control Daten-Update

Erstellt von haab vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.262 Views
H
haab Themenstarter:in
7 Beiträge seit 2006
vor 17 Jahren
TreeView Control Daten-Update

Hallo Zusammen

Ich habe folgende Ausgangslage:
Ich habe ein TreeView Control in einam Window, dieses zeigt meine Datenstruktur an, welche in Listen abgelegt ist und wie folgt hirarchisch aufgebaut ist:

Klasse Datensource
-> Klasse Kapitel
---> Klasse Supkapitel
-----> Seiten

In jeder Klasse hat es ein Attribut "Text", welches dann im TreeView ausgegeben werden sollte und natürlich kann es mehrere Kapitel, bzw Supkapitel / Seiten geben.

Die Baumstruktur aufzubauen ist kein Problem, dies mache ich beim Initialliseren des Windows. Jedoch möchte ich nun, wenn etwas in der Datenstruktur geändert wird (dies muss nicht zwingend über das TreeView Control geschehen, z.B. auch über ein Menu, etc...) sollte sich die Baumstruktur automatisch updaten.

Frage:
Gibt es ein Mechanismus, welches das automatisch macht?

Ich dachte da daran, es zuerst in der OnDraw Methode immer wieder neu zu zeichnen (und bei einer Änderung einen InvalidRect auszulösen), jedoch ist dann der Zustand des TreeView (welche Nodes aufgeklappt sind) nicht gespeichert -> gibt es da einen Trick um sich dies zu merken?

Bin ich völlig auf dem Holzweg?

Danke und Gruss
Andy

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo haab,

Gibt es ein Mechanismus, welches das automatisch macht?

Nein! Musst du programmiren.

Bin ich völlig auf dem Holzweg?

Mit dem OnDraw (du meinst OnPaint, oder?) bist du völlig auf dem Holzweg.

gibt es da einen Trick um sich dies zu merken?

Du kannst dir das in TreeNode.Tag merken. Oder du erweiterst deine Datenstruktur.

herbivore

563 Beiträge seit 2004
vor 17 Jahren

Du hast bestimmt ein zwei Methoden, welche Rekursiv die Daten aus der Klasse Datensource auslieset, und die Nodes hinzufügt. Mach in deiner Datensource-Klasse einen Event, sobald sich die Daten ändern. Im Form registrierst du dich bei diesem Event und rufst die Methoden auf, welche das Treeview beglücken.

.unreal