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/)
-   -   TTreeView - Anordnung (https://www.delphipraxis.net/120682-ttreeview-anordnung.html)

bignfan 15. Sep 2008 10:30


TTreeView - Anordnung
 
Hallo

Ich programmiere mit Delphi 7 in der Firma. Bin dabei eine MDB/MDE in Delphi neu zu programmieren.
Warum Delphi 7? Wir haben Lizenzen dafür und es wurde bereits von einer Person angefangen. Einige Formulare sind bereits in Delphi. Einige nicht.
Bin Neuling in Delphi. Habe vorher in der Schule Pascal und VBA gelernt und an der Uni Java.



Zum leichteren Navigieren solls jetz in einem Formular auch nen TreeView geben.

Man wählt einen Lieferanten aus im advstringgrid und im TreeView sollen dann Stammdaten, Ansprechpersonen etc stehen

ca so:

Stammdaten
- Niederlassung 1
- Ansprechpersonen
- Name
- Name
- Allgemeine Daten
- etc.
- Niederlassugn 2
- Ansprechperson 1
- Ansprechperson 2
Weitere Daten
- ...
- ...

mit
tn_stammdaten := items.Add(nil,'Stammdaten');

geht das auch. mit addchild die dann die Niederlassung etc.
wenn ich jetzt bei den Ansprechpersonen bin, wie komm ich wieder eine Ebene rauf?

Danke
Schöne Grüße aus dem kalten verregneten Wien

toms 15. Sep 2008 10:49

Re: TTreeView - Anordnung
 
Hallo

Mit TTreeNode.Parent kannst du den Parent Node ermitteln.

marabu 15. Sep 2008 14:09

Re: TTreeView - Anordnung
 
Herzlich willkommen in der Delphi-PRAXiS, bignfan.

Was ist eigentlich mit deiner Variablen tn_stammdaten passiert, dass du nicht mehr darauf zurückgreifen willst?

Freundliche Grüße

mkinzler 15. Sep 2008 14:16

Re: TTreeView - Anordnung
 
Der Code sollte aber auch mit einer neuren Delphi-Version funktionieren

bignfan 22. Sep 2008 07:02

Re: TTreeView - Anordnung
 
hallo

war im krankenstand, daher erst jetzt die antwort

so siehts aus, nur tut es nicht was ich will ;-)

Delphi-Quellcode:
with tv_lieferanten do
  begin
    items.Clear;
    tn_stammdaten := items.Add(nil,'Stammdaten');
    items.AddChild(tn_stammdaten,'Niederlassungen');
    while frm_dm_img_lim.ibda_stammdaten_niederlassungen.eof = false do
    begin
      // jeder Lieferant
      items.AddChild(tn_stammdaten,frm_dm_img_lim.ibda_stammdaten_niederlassungenORT.AsString);
      // Unterknoten
      tn_stammdaten := items.Addchild(tn_stammdaten,'Ansprechperson');
      tn_stammdaten := items.Add(tn_stammdaten,'Allgemeine Daten');
      tn_stammdaten := items.Add(tn_stammdaten,'Nummern + Info');
      tn_stammdaten := items.Add(tn_stammdaten,'Vereinbarungen');
      tn_stammdaten := items.Add(tn_stammdaten,'Anfrageübersicht');
      frm_dm_img_lim.ibda_stammdaten_niederlassungen.next;
      //items.Addchild(tn_stammdaten,'Allgemeine Daten');

      //tn_stammdaten := items.Add(tn_stammdaten,'Vereinbarungen');
    end;


    tn_sonstiges := items.Add(nil,'Sonstiges');
    tn_sonstiges := items.AddChild(tn_sonstiges,'Arbeitsunterlagen');
    tn_sonstiges := items.Add(tn_sonstiges,'Abnahmeprüfbescheinigung');
    tn_sonstiges := items.Add(tn_sonstiges,'Versicherung');
    tn_sonstiges := items.Add(tn_sonstiges,'Transporttouren');
    tn_sonstiges := items.Add(tn_sonstiges,'esondere Qualifikationen');
    tn_sonstiges := items.Add(tn_sonstiges,'Bonus');
  end;
so siehts aus im formular:
http://img295.imageshack.us/my.php?i...reeviewpq7.jpg
"Aachen" sollte unter Niederlassung stehen (ChildNode)
"Ansprechpersonen", "allgemeine Daten" etc dann als childnode von "Aachen"

Hoffe jetzt ist deutlicher was ich erreichen will
Nur wie krieg ich das hin?
vorallem so, das es auch mit mehreren Niederlassungen funktioniert
manche Lieferanten haben mehrere Niederlassungen, die dann nach Auswahl eines Lieferanten angezeigt werden sollen

(bei Ansprechpersonen sollen auch alle Ansprechpersonen angezeigt werden, sollte aber nicht das große problem sein, wenn ich weiß wie ich dieses aktuelle problem lösen kann
einfach auch ne schleife und das gleiche no mal machen wie bei niederlassungen)


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:56 Uhr.

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