Entwickler-Ecke

Basistechnologien - TreeView mit DB-Daten füllen


fellfresse - Do 31.07.08 11:01
Titel: TreeView mit DB-Daten füllen
Hallo,

ich brauche mal etwas Hilfe beim Befüllen eines TreeView aus der Datenbank.
Mit meiner ersten Abfrage hole ich mir alle "TopLevel"-Knoten und binde diese in das TreeView ein.
--Klappt alles super--
Während dessen schreibe ich mir in eine Liste die ID der "TopLevel"-Knoten.
Dann durchlaufe ich mit foreach diese Liste und hole mir für jede ID die Felder in der DB.

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
foreach (String categoryID in categoryIDList)
...
// SQL Abfrage
                    String query = "SELECT DMS.FileCategory.CategoryID, DMS.FIleCategory.FileID," +
                        "DMS.File.Path " + 
                        "DMS.FileCategory INNER JOIN DMS.File ON DMS.FileCategory.FileID = DMS.File.FileID" + 
                        "WHERE DMS.FileCategory.FileID = '" + categoryID + "'";
...

Nun ist aber die Frage, wie ich die rusltierenden Einträge in den dazu gehörigen TreeView Knoten bekomme.
Ich habe keine Möglichkeit gefunden einen TreeView Knoten direkt anzuwählen, außer über ein Nodes-Array. Und ich weiss ja nich genau welchen Index der Knoten hat.

Kann mir da mal jemand eine Denkanstoss für einen Lösungsansatz geben?

Danke

Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt


Kha - Do 31.07.08 11:11

Warum holst du dir die Daten nicht direkt beim Erstellen des jeweiligen TreeNodes (add: Oder gleich in der ersten Query)? Die Liste brauchst du dann wahrscheinlich auch nicht mehr.


fellfresse - Do 31.07.08 11:28

Die Variante ist mir eben in der Mittagspause auch eingefallen. Aber ich bin eben ein Freund von klarer Trennung und wollte den Code schön in 2 Methoden kapseln.

Danke!