TreeView mit Verzeichnisstruktur füllen

Hi,

ich habe einen ADO Recordset mit Pfadangaben in folgender Form:

Zeile 1: \Datei1.txt
Zeile 2: \Ordner1\Datei1.txt
Zeile 3: \Ordner1\Ordner2\Datei3.txt
usw.

Wie bekomme ich den Inhalt performant in ein Treeview ähnlich Windows-Explorer?

Gruss Steffen

Hi

Kannst Du die DB Struktur ändern? Ich würde mit Rekursiven Datensätze arbeiten, da lässt sich das Treeview sehr schön füllen.

Wenn das nicht geht, würde ich mit dem Split befehl die Zeilen spliten und so halt mühsahm den Baum erstellen.

Allgemeiner Typ, arbeite in diesem Fall lieber mit dem Key als mit dem Index der Nodes.

Gruss
Giuseppe

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Folgende Voraussetzungen:

  1. Property ‚PathSeparator‘ beim TreeView muss ‚‘ sein.
  2. Die Datensätze sollten sortiert sein.

Das angefügte Coding verwende ich in meinen Programmen - sollte auch bei Dir funktionieren:

With trv.Nodes
 While Not clsN.NothingOrEOF(rec)
 l = InStrRev(rec!Text, "\")
 If l \> 1 Then
 Call .Add(Left$(rec!Text, l - 1), tvwChild, rec!Text, Mid$(rec!Text, l + 1))
 Else
 Call .Add(, , rec!Text, rec!Text)
 End If
 Call rec.MoveNext
 Wend
End With

Ob es performant ist, weiss ich nicht … es geht auf jedenfall schnell genug. Die Performance kann man zusätzlich steigern, wenn man den TreeView auf ‚Visible=False‘ setzt und nachher wieder einblendet.

greets from michL (vienna)