Einzelnen Beitrag anzeigen

Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#1

TTreeNode aussuchen u. weitere Knoten anhängen

  Alt 28. Mär 2007, 15:44
Hallo,

ich habe folgendes Problem, ich will in einem TTreeView das schon nach dem Root – Knoten noch weiter Knoten aufweist. Unter diesen Kind-Konten weiter Kindknoten anhängen.

Delphi-Quellcode:
Ebene1(Root)
   |
   |----Ebene2Knoten1
   | |------------Ebene3Knoten1
   | |------------Ebene3Knoten2
   |
   |----Ebene2Knoten2
   | |------------Ebene3Knoten3
   | |------------Ebene3Knoten4
 usw.
Wie gesagt die Knoten der Ebene2 sind vorhanden.
Wenn ich jetzt die Knoten der Ebene3 einfügen möchte, so werden diese immer alle unter den letzten Knoten der Ebene2 angehängt.

Mit welchem Befehl kann ich den Knoten der Ebene2 aussuchen, so dass ich darunter die Knoten der Ebene3 anhängen kann?

Delphi-Quellcode:
{----------------------------------------------------------------------------
  Alle Datensätze Durchlaufen und die vorkommen MaGruppe1 in den Baum eintragen
  }

  for I := 1 to Anzahl do
  begin
    MSBez.MSLesen:= i;
     // Alle MaGruppe1 auflisten
     // Prüfen ob die MaGruppe1 schon im Baum vorhanden ist
    if m_Ebene2 = Nil then
    begin
      m_Ebene2:= TreeView1.Items.AddChild(m_Ebene1,MSBez.MaGruppe1);
    end
    else
    begin
      if (not (IsDuplicateEintrag(m_Ebene2,MSBez.MaGruppe1,TRUE))) then
      m_Ebene2:= TreeView1.Items.AddChild(m_Ebene1,MSBez.MaGruppe1);
    end;
  end;
Damit werden die KindKnoten für die Ebene2 erzeugt

Delphi-Quellcode:
{
  Alle Datensätze durchlaufen und die MaBez an die entprechenden MaGruppe1 an-
  hängen.
  }

  for I := 1 to Anzahl do
  begin
    MSBez.MSLesen:= i; // Datensatz lesen

    for z := 0 to m_Ebene1.Count - 1 do
    begin
      if (m_Ebene1.Item[z].Text = MSBez.MaGruppe1) then
      begin
        // Items auszuchen an welcher Stelle angehängt werden soll
        if (NOT(IsDuplicateEintrag(m_Ebene3,MSBez.MaBez,TRUE))) then
        begin

          m_Ebene3:= TreeView1.Items.AddChild(m_Ebene2,MSBez.MaBez);<---- Das fun. nicht richtig !!!!!!!!!
        end;
Das funktioniert leider nicht.



Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat