![]() |
TreeView suche
Hi DP'ler,
ich habe folgendes Problem. Zur Laufzeit füge ich in ein TreeView neue Nodes ein. Dadurch verändern sich logischerweise die Indexes der vorhandenen Knoten. Wie kann ich auf eine schnelle art und weise mein TreeView nach einem bestimmten Text durchsuchen. Mir würde es reichen wenn ich die Nodes auf Level 0 in einer Schleife durchsuche, aber wie stelle ich es an, dass meine Schleife nicht den gesamten Inhalt durchquält? Grüßle Ben |
Re: TreeView suche
Moin!
Hole dir den ersten Knoten auf der Ebene die du durchsuchen willst in eine Variable node:
Delphi-Quellcode:
Ansonsten hier noch Codeschnipsel um einen TreeView komplett rekursiv zu durchsuchen:
Node := TreeView.Items[0];
While ( Node <> Nil ) Do Begin If ( Node.Text = DeinSuchText ) Then Break; Node := Node.GetNextSibling; // holt den Verwandten auf der gleichen Ebene End; If ( Assigned(Node) ) Then ShowMessage('Knoten gefunden: ' + Node.Text); ![]() MfG Muetze1 |
Re: TreeView suche
Delphi-Quellcode:
Das sollte dir ALLE TopLevel-Nodes vom ersten bis zum letzten zurückgeben. Allerdings ist er nicht getestet...
for i := 1 to TreeView1.Items.Count do
TreeView1.GetNodeAt(0, i*TreeView1.Font.Size); |
Re: TreeView suche
![]() kannst du dir ja u.U als Funktion umschreiben die den gefundenen Knoten liefert o.ä. schönen Gruß Sam |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:37 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-2025 by Thomas Breitkreuz