Science, Tech, Math › Computer Science How to Locate TreeView Node By Text Share Flipboard Email Print ivcandy/DigitalVision Vectors/Getty Images Computer Science Delphi Programming Delphi Tutorials Advanced PHP Programming Perl Python Java Programming Javascript Programming C & C++ Programming Ruby Programming Visual Basic View More By Zarko Gajic Zarko Gajic Twitter Computer Science Expert MSCS, Computer Science, University of Osijek Zarko Gajic is experienced in SQL and has working knowledge of DB systems such as MS SQL Server, Firebird, Interbase, and Oracle. He is also proficient in XML, DHTML, and JavaScript. Learn about our Editorial Process Updated on February 11, 2019 While developing Delphi applications using the TreeView component, you may bump into a situation where you need to search for a tree node given by only the text of the node. In this article we'll present you with one quick and easy function to get TreeView node by text. A Delphi Example First, we'll build a simple Delphi form containing a TreeView, a Button, CheckBox and an Edit component—leave all the default component names. As you might imagine, the code will work something like: if GetNodeByText given by Edit1.Text returns a node and MakeVisible (CheckBox1) is true then select node. The most important part is the GetNodeByText function. This function simply iterates through all the nodes inside the ATree TreeView starting from the first node (ATree.Items[0]). The iteration uses the GetNext method of the TTreeView class to look for the next node in the ATree (looks inside all nodes of all child nodes). If the Node with text (label) given by AValue is found (case insensitive) the function returns the node. The boolean variable AVisible is used to make the node visible (if hidden). function GetNodeByText(ATree : TTreeView; AValue:String; AVisible: Boolean): TTreeNode;var Node: TTreeNode;begin Result := nil; if ATree.Items.Count = 0 then Exit; Node := ATree.Items[0]; while Node nil dobeginif UpperCase(Node.Text) = UpperCase(AValue) thenbegin Result := Node; if AVisible then Result.MakeVisible; Break; end; Node := Node.GetNext; end;end; This is the code that runs the 'Find Node' button OnClick event: procedure TForm1.Button1Click(Sender: TObject);var tn : TTreeNode;begin tn:=GetNodeByText(TreeView1,Edit1.Text,CheckBox1.Checked); if tn = nil then ShowMessage('Not found!') elsebegin TreeView1.SetFocus; tn.Selected := True; end;end; Note: If the node is located the code selects the node, if not a message is displayed. That's it. As simple as only Delphi can be. However, if you look twice, you'll see something is missing: the code will find the FIRST node given by AText. Cite this Article Format mla apa chicago Your Citation Gajic, Zarko. "How to Locate TreeView Node By Text." ThoughtCo, Jul. 31, 2021, thoughtco.com/locate-treeview-node-by-text-4077859. Gajic, Zarko. (2021, July 31). How to Locate TreeView Node By Text. Retrieved from https://www.thoughtco.com/locate-treeview-node-by-text-4077859 Gajic, Zarko. "How to Locate TreeView Node By Text." ThoughtCo. https://www.thoughtco.com/locate-treeview-node-by-text-4077859 (accessed March 24, 2023). copy citation