Autor |
Beitrag |
robby_robbt
Hält's aus hier
Beiträge: 14
|
Verfasst: Mi 01.12.10 20:26
Ich habe ein TreeView:
-A
-B
---C
-----D
---[E]
---F
-G
-H
Node E ist selected. Wie finde ich den Name von B heraus? Also der Knoten in dem sich E befindet?
Vielen Dank für Eure Antworten!
robby_robbt
|
|
jaenicke
Beiträge: 19285
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mi 01.12.10 21:19
Du kannst einfach so lange zum Parent des aktuellen Knotens gehen, bis du bei der ersten Ebene angekommen bist.
Für diesen Beitrag haben gedankt: robby_robbt
|
|
robby_robbt
Hält's aus hier
Beiträge: 14
|
Verfasst: Mi 01.12.10 21:40
Ups.
Danke trotzdem! Wie kann ich denn für jeden Knoten zum Namen den Namen vom Parent hinzufügen?
|
|
huuuuuh
Beiträge: 665
Erhaltene Danke: 19
win xp, (win vista), win 7
VS 2008 Express Edition, VS 2010 Express Edition, VS 2010 Professionell
|
Verfasst: Mi 01.12.10 21:54
hat nich jeder knoten diese eigenschaft? also .Parent? E.Parent wär in deinem Beispiel B ...
edit: grad nachgeschaut. Parent gibt es. TreeView.SelectedNode.Parent dürfte in deinem fall die TreeNode B zurückgeben
|
|
robby_robbt
Hält's aus hier
Beiträge: 14
|
Verfasst: Mi 01.12.10 22:00
In meiner TreeView ist ein Ordner mit seinen Unterordnern und dessen UNterordnern, etc.
Mein Ziel ist es den Pfad vom untersten Unterordner herauszufinden, indem ich:
den Namen vom Parent + den Namen des gerade seletierten Nodes zurückgebe, und erhalte so von allen Nodes den Pfad;)
Nur müsst ich dazu allen Nodes den Namen ändern. aber wie?
|
|
huuuuuh
Beiträge: 665
Erhaltene Danke: 19
win xp, (win vista), win 7
VS 2008 Express Edition, VS 2010 Express Edition, VS 2010 Professionell
|
Verfasst: Mi 01.12.10 22:05
könntest du mal ein konkretes beispiel machen? verstehe das grade nicht...
|
|
robby_robbt
Hält's aus hier
Beiträge: 14
|
Verfasst: Mi 01.12.10 22:10
|
|
huuuuuh
Beiträge: 665
Erhaltene Danke: 19
win xp, (win vista), win 7
VS 2008 Express Edition, VS 2010 Express Edition, VS 2010 Professionell
|
Verfasst: Mi 01.12.10 22:15
überleg mal, was Node.Parent für einen Wert hat, wenn Node der oberste Knoten ist, also gar keinen Parent hat
Für diesen Beitrag haben gedankt: robby_robbt
|
|
robby_robbt
Hält's aus hier
Beiträge: 14
|
Verfasst: Mi 01.12.10 22:36
|
|
Yogu
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: Mi 01.12.10 22:58
Hm, fangen wir lieber nochmal mit dem Ablaufplan an:
- Ist der Knoten der Wurzelknoten?
- Ja: Der Text soll das aktuelle Verzeichnis sein.
- Nein: Der Text soll der Text des Parents plus der eigene Text sein.
- Führe Schritt 1 und 2 bei allen Kindknoten durch.
Schreib die Methode am besten nochmal neu. Übrigens kannst du mit node.Parent == null ganz einfach überprüfen, ob ein Knoten der Wurzelknoten ist.
Desweiteren sollte die Verwendung von Directory.GetCurrentDirectory() wohl überlegt sein. Ist sie das?
PS: Bitte schließe deine Quelltexte in <span class="inlineSyntax">{PROTECTTAGe2e40b88a3857f49745bb30a6bb9d732}</span> ein. Danke
Für diesen Beitrag haben gedankt: robby_robbt
|
|
robby_robbt
Hält's aus hier
Beiträge: 14
|
Verfasst: Mi 01.12.10 23:13
|
|
jaenicke
Beiträge: 19285
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Do 02.12.10 06:55
Wenn du da eine Ordnerstruktur darstellen willst: - Hast du denn die Knoten schon erstellt?
- Es wäre wohl sinnvoller, die Unterknoten erst beim Aufklappen zu erstellen und zu benennen (sonst dauert es ewig bei vielen Unterordnern)
|
|
robby_robbt
Hält's aus hier
Beiträge: 14
|
Verfasst: Do 02.12.10 15:30
also was ich habe:
-A
-B
---C
------D
------E
---F
was ich haben möchte: ^^
-A
-B
---BC
------BCD
------BCE
---BF
Also soll Jeder Knoten den Namen vom Parent-Knoten + den eigenen Namen hinten Dran haben.
|
|
huuuuuh
Beiträge: 665
Erhaltene Danke: 19
win xp, (win vista), win 7
VS 2008 Express Edition, VS 2010 Express Edition, VS 2010 Professionell
|
Verfasst: Do 02.12.10 16:31
Für diesen Beitrag haben gedankt: robby_robbt
|
|
robby_robbt
Hält's aus hier
Beiträge: 14
|
Verfasst: Do 02.12.10 17:42
Danke hat funktioniert.
Wie überprüfe ich eigentlich ob
-A
---B
---C
---D
A ein "Child-Node" enthält, dessen Namen "C" ist?
|
|
jaenicke
Beiträge: 19285
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Do 02.12.10 17:49
Alle ChildNodes durchgehen und nachschauen?
Für diesen Beitrag haben gedankt: robby_robbt
|
|
Yogu
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: Do 02.12.10 20:48
|
|