Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Problem mit Treeview [done]
matze - Do 23.10.03 14:45
Titel: Problem mit Treeview [done]
Hallo !!!
ich hab schon das komplette forum abgesucht aber nix hilfreiches gefunden.
ich habe folgendes problem:
ich habe eine liste die sieht so aus:
a|hallo
b|test2
a|test3
so ich will diese liste in einem treeview darstellen.
jetzt kann man ja im treeview einen node folgendermasen hinzufühen:
Delphi-Quelltext
1: 2: 3:
| var tn: Ttreenode; tn := treeview1.Items.Add (nil,'hallo'); tn := treeview1.Items.AddChild (tn,'test'); |
klar. dann bekomm ich ja einen knoten un ein unteritem.
nur:
wie mache ich das, dass ich für jedes a,b,...x,y,z einen node anlegen kann wenn ich die liste durchgehe und dann einen unterpunkt hinzufügen kann.
also wie prüfe ich ob schon ein knotenpunkt mit der caption a,b oder so vorhanden ist und wenn ja wie kann ich dem dann unteritems zurdnen ??
uff.
Tino - Do 23.10.03 16:22
Wenn ich ehrlich bin hab ich das Probelm nicht verstanden... :cry:
matze - Do 23.10.03 16:36
ja mir ists da als ich das geschrieben hab nix besseres eingefallen.
das problem ist also auf deutsch:
wie kann ich prüfen (mit einem stringwert) ob ein treenode schon vorhanden ist,
wenn ja: soll das aproggi unter diesem node neue untereinträge anlegen,
falls nein: soll es den hauptnode anlegen und dann untereinträge anlegen.
das also aus einner liste die so aussieht:
Quelltext
1: 2: 3: 4:
| a|matze b|tino a|luckie b|marc |
ein solcher treeview wird:
a-
|- matze
|- luckie
b-
|-tino
|-marc
SlasHeR - Do 23.10.03 16:50
Hi matze.
Ich hatte ein ähnliches Problem, da hab ich mir einfach ein neues Steuerelement runtergeladen:
http://www.torry.net/vcl/lvtv/enhancedtreeviews/pgpathtreeview.zip
Da kannst du mit Tree.DestPath := 'a|b|c';
einen pfad zuweisen, als seperator gibst du an | und er fügt dir alles automatisch ein.
also keine doppelten eintraege ;)
matze - Do 23.10.03 18:27
hm ja gut ich werd mir die kompo mal anschaune, allerdings mag ich nicht schon wieder eine komponente installieren. das muss doch auch anders gehen !
Shark - Do 23.10.03 19:48
TreeNodes haben die Eigenschaft Level, mit der Du die Ebene herausfindes...
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| function findNode(Text: string; Level: integer): TTreeNode; var index: integer; node: TTreeNode; begin result := nil; for index := 0 to TreeView.Items.Count - 1 do begin node := TreeView.Items[index]; if (Node.Level = Level) and (Node.Text = Text) then begin result := Node; break; end;
end;
end; |
matze - Fr 24.10.03 15:13
suuuuuuuuuuper !!!!
das ist genau das was ich mir gewünscht hab !!!!!
du bist der beste !!!!
danke !
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!