Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi übergeordneten Gruppen eines Treeview (https://www.delphipraxis.net/50317-uebergeordneten-gruppen-eines-treeview.html)

Hansi 23. Jul 2005 18:28


übergeordneten Gruppen eines Treeview
 
Hey,

Wie bekomme ich die übergeordneten Gruppen eines Treeview heraus?

ich bin z.B. in der dritten Untergruppe:
Also...
Hauptgruppe1
- Untergruppe1
-- Unteruntergruppe1

ich möchte die Gruppenbezeichnungen als String haben. Dass ich nachher folgendes habe:
s1 = 'Hauptgruppe1'
s2 = 'Untergruppe1'
s3 = 'Unteruntergruppe1'

Wie bekommen ich das am einfachsten hin?

Vielen Dank!

marabu 23. Jul 2005 18:55

Re: übergeordneten Gruppen eines Treeview
 
Hallo Hansi,

diese Funktion benutze ich um Pfadnamen von Baumknoten zu bilden. Vielleicht ist die auch was für dich:

Delphi-Quellcode:
function NodeText(node: TTreeNode; startLevel: integer; delimiter: char): string;
begin
  if not Assigned(node) then
    Result := ''
  else if node.Level > startLevel then
    Result := NodeText(node.Parent, startLevel, delimiter) + delimiter + node.Text
  else if node.Level = startLevel then
    Result := node.Text
  else
    Result := ''
end;
Grüße vom marabu

Hansi 23. Jul 2005 19:08

Re: übergeordneten Gruppen eines Treeview
 
Hallo marabu,

Vielen Dank für Deinen Beitrag. Leider verstehe ich Deinen Code nicht ganz bzw verstehe nicht ganz wie er mir helfen soll! (Liegt an mir!)

Ich habe es schon versucht mit SQl Abfragen zu machen wie z.B. nehme vom aktuellen Datensatz die Gruppen_ID; Suche mit der Gruppen_ID die Gruppen_ID und die passende Gruppen_parent; Wenn Die Gruppen_ID und die Gruppen_parent gleich sind dann ist es der Hauptknoten ....

Nur irgendwann wird das echt zu komplex!

Das Problem ist doch auch dass ich nicht weiss in welcher Untergruppenebene ich bin, oder kann ich das irgendwie herausbekommen?

Im Prinzip suche ich eine Abfrage die mir alle übergeordneten Node ausgibt?

Wie bekomme ich sowas!

marabu 23. Jul 2005 19:21

Re: übergeordneten Gruppen eines Treeview
 
Hallo Hansi,

nimm das Delphi Standard Projekt, packe eine TreeView darauf, fülle sie mit ein paar Daten über den node editor in der IDE und wenn du dann im Ereignis OnClick() meinen Code aufrufst, dann siehst du was passiert. In der IDE kannst du dann jede Methode und jede Eigenschaft mit F1 genauer kennen lernen. Mit SQL hat das Ganze erstmal nichts zu tun, das ging aus deinem ersten Beitrag auch nicht hervor. Wenn du ein SQL-Problem hast, musst du anders fragen...

Delphi-Quellcode:
ShowMessage(NodeText(TreeView.Selected, 0, '\'));
marabu


PS: Mein Code zeigt dir den Umgang mit den Eigenschaften Level, Text und Parent eines TreeNodes und erzeugt einen Pfadnamen aus den Text-Eigenschaften beginnend bei startLevel und unterteilt durch delimiter.

Hansi 23. Jul 2005 19:31

Re: übergeordneten Gruppen eines Treeview
 
Hey marabu,

Vielen Dank es funzt! Ist genau das was ich gesucht habe!

Jetzt versuche ich noch Deinen Code genauer zu verstehen!

Danke und schönen Samstag!


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz