![]() |
Datenbank: Access • Zugriff über: ADO
Treeview Node finden
Liste der Anhänge anzeigen (Anzahl: 1)
Delphi-Quellcode:
ick komme hier nicht weiter wie sage ich den Treeview an der markierten stelle in welchen Node er sich befindet um die passende Tabelle in der DB zu durchsuchen
procedure TfrmMain.TreeView1Click(Sender: TObject);
begin Memo1.Clear; ADOQuery1.SQL.Clear; ADOQuery1.Close; ADOQuery1.SQL.Text := 'SELECT * FROM ' + TreeView1.{****} ADOQuery1.Open; while not ADOQuery1.Eof do begin if ADOQuery1.FieldByName('Feld1').AsString = TreeView1.Selected.Text then begin Memo1.Lines.Add(ADOQuery1.FieldValues['Feld2']); end; ADOQuery1.Next; end; end; als demo hab ichs so gemacht
Delphi-Quellcode:
so klappt es auch aber halt nur für diesen Node
ADOQuery1.SQL.Text := 'SELECT * FROM Funktionen' ;
|
Re: Treeview Node finden
Du must vor der DB-Abfrage erstmal den Node rausfinden, der selektiert ist. Über eine rekursive Suche mit Hilfe der selected-Eigenschaft geht das ungefähr so:
Delphi-Quellcode:
Das ganze ist jetzt frei aus dem Gedächtnis gebaut und wird so 1:1 nicht funktionieren, sollte aber das Prinzip verdeutlichen.function SearchNode(Aroot:TTreenode):TTreenode; var i : integer; begin result := NIL; for i := 0 to Aroot.childcount -1 do begin node := Aroot.Childnodes[i]; if TreeView1.selected[node] then begin result := node; break; end else begin if (node.childcount > 0) then result := SearchNode(node); if result <> NIL then exit; end; end; end; Danach hast du den Node und kannst mit Hilfe des Textes die DB-Abfrage machen :) |
Re: Treeview Node finden
Hallo,
der selektierte Knoten muss nicht unbedingt gesucht werden:
Delphi-Quellcode:
Ich habe OnChange() genommen, aber unter bestimmten Randbedingungen funktioniert es auch mit OnClick().
function RootNode(node: TTReeNode): TTreeNode;
begin while Assigned(node) do begin Result := node; node := node.Parent; end; end; procedure TDataForm.TreeViewChange(Sender: TObject; Node: TTreeNode); begin if Assigned(Node) then ShowMessage(RootNode(Node).Text) end; Grüße vom marabu |
Re: Treeview Node finden
Danke klappt Prima
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:10 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