Hallo,
ich habe eine
DB in der ich zwei Tabellen habe. Die Informationen, die in der Tabelle enthalten sind, importiere ich mit folgender Routine in meiner TreeView Komponente.
Delphi-Quellcode:
procedure TProgramm.FillTree(b : TTreeView; t1, t2 : TADOTable);
var n : TTreeNode;
i1, i2 : Integer;
begin
b.Items.Clear;
i1:=t1.RecNo;
i2:=t2.RecNo;
t1.First;
while not t1.Eof do
begin
n:=b.Items.AddChild(nil, t1.FieldByName('Feldname1').AsString);
t2.First;
while not t2.Eof do
begin
b.Items.AddChild(n, t2.FieldByName('Feldname2').AsString);
t2.Next;
end;
t1.Next;
end;
t1.RecNo:=i1;
t2.RecNo:=i2;
end;
Ich verwende diese Komponente, um eine hierarchische Darstellung meiner Tabelleninhalte zu erreichen. Das funktioniert auch problemlos. Es sieht auch richtig toll aus. Aber eine Funktionalität müsste ich jetzt noch haben. Wenn ich einen Knoten auswähle, durch einen Mouseklick, dann soll der Focus auch in der Tabelle auf diesen Datensatz gesetzt werden. Wie kann ich das tun? WICHTIG!!! Hierbei ist noch wichtig, wenn ich einen Knotenpunkt einmal anklicke, dann soll der Focus in der Master Tabelle auf den Datensatz gesetzt werden und wenn ich einen Knoten öffne, dann soll der Focus in der Detail Tabelle auf den ersten Datensatz gesetzt werden. Wenn ich einen Knoten offen habe, und ich einen Datensatz in einem Unterknoten auswähle, dann soll auch in der Detail tabelle der Focus in der Detail Tabelle aus diesen Datensatz Positioniert werden.
Über Lösungsansätze würde ich mich sehr freuen. Ich hoffe ich konnte mein doch etwas umfangreicheres Problem ein bisschen nahelegen.
Mit freundlichen Grüßen
Christian18