Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Zwei Tabel als Baum Darstellen

  Alt 5. Mai 2006, 16:01
BeginUpdate() und EndUpdate() sind Methoden von TreeView.Items - also tvBaum.Items.BeginUpdate() und es wird funktionieren. Sobald du einen Knoten auswählst wird das Ereignis OnChange() gefeuert - du musst nur entsprechenden Code dafür schreiben. Beim Befüllen des Baums solltest du den Primärschlüssel der Tabelle in der Eigenschaft Data des Knoten mitführen:

Delphi-Quellcode:
tn0 := tvBaum.Items.AddChildObject(nil,
         Table1.FieldByName('FIRMA').Text,
         Pointer(Table1.FieldByName('ID').AsInteger)
       );
Jetzt kannst du im Ereignis OnChange() recht einfach unterscheiden:

Delphi-Quellcode:
procedure TDemoForm.TreeViewChange(Sender: TObject; Node: TTreeNode);
begin
  case Node.Level of
    0: // Hersteller
      Table1.Locate('ID', Integer(Node.Data), []);
    1: //Produkt
      Table2.Locate('ID', Integer(Node.Data), []);
  end;
end;
Das ist ohne datensensitive Komponenten, wie du schon richtig bemerkt hast.

marabu
  Mit Zitat antworten Zitat