Laden...

TreeView Element mit Flat Data Strucktur füllen (C#)

Erstellt von maan vor 9 Jahren Letzter Beitrag vor 9 Jahren 2.076 Views
M
maan Themenstarter:in
1 Beiträge seit 2014
vor 9 Jahren
TreeView Element mit Flat Data Strucktur füllen (C#)

verwendetes Datenbanksystem: MSSQL / OleDB

Hallo zusammen,

Da ich neu in der Programmierung bin, bin ich auf ein mir unlösbares Problem gestoßen.
Ich habe eine Tabelle mit einer einfachen "flat data" Strucktur um Elemente und deren Unterelemente zu verwalten. Also etwas wie:

Id---Parent-----Name
1------0--------Ordner 1
2------1--------Item xy
3------1--------Ordner 2
4------3--------Ordner x
5------4--------Ordner y
6------5--------Ordner z
7------6--------Item yx

Diese Art der Strucktur ist ja recht geläufig, trotzdem habe ich leider keine passenden Beispiele gefunden. Mein Problem ist, wie kann ich diese Strucktur sauber in eine hierariche Strucktur umwandeln, und diese dann als Items für einen TreeView formen?

Also kurz gesagt, wie kann ich aus einer solchen Tabelle einen TreeView befüllen?

Ich wäre für jeglichen Ansatz sehr dankbar! Habe selbst schon mit Schleifen versucht ein Ergebnis zu bekommen, aber da die "Tiefe" der Strucktur theoretisch unendlich ist komme ich nicht weiter.

Vielen Dank schon mal!

H
523 Beiträge seit 2008
vor 9 Jahren

Hallo maan,

Du musst eine rekursive Funktion schreiben. Ein Beispiel findest Du hier

4.938 Beiträge seit 2008
vor 9 Jahren

Hallo hypersurf,

das hilft hier nicht weiter, da die TreeView-Struktur ja erstellt werden soll - nicht gelesen.

@maan: Du kannst dich eher an TreeView abhängig vom Verzeichnislevel füllen orientieren.

H
523 Beiträge seit 2008
vor 9 Jahren

Hallo hypersurf,

das hilft hier nicht weiter, da die TreeView-Struktur ja erstellt werden soll - nicht gelesen.

In dem von mir genannten Beispiel sieht man wunderbar wie rekursive Methoden funktionieren und das ist genau das, was maan zur Lösung seines Problems benötigt.

Im Sinne von [Hinweis] Wie poste ich richtig? 1.1.1 habe ich die Lösung bewusst nicht gepostet, sondern nur einen Hinweis auf den Lösungsweg 😃

4.938 Beiträge seit 2008
vor 9 Jahren

Hallo hypersurf,

hier benötigt man aber eben genau keine rekursive Funktion, sondern kann einfach iterativ die (hierarchische) Struktur erstellen.

H
523 Beiträge seit 2008
vor 9 Jahren

Hallo Th69,

natürlich geht das auch ohne Rekursion, ich persönlich bevorzuge aber die Rekursion, weshalb ich diese auch vorgeschlagen habe.

maan kann sich ja den für ihn einfachsten Weg aussuchen 🙂