The following methods can help to search a text in Nodes of a TreeView control recursively:
| public TreeNode srchTxtInTreeView(TreeView trvToSrch, String strToSrch) |
| { |
| // check if the treeView is not NULL |
| if (trvToSrch == null) |
| return null; |
|
| // loop through the nodes in the treeview's root nodes |
| for (int i = 0; i < trvToSrch.Nodes.Count; i++) |
| { |
| TreeNode trvNode = srchTxtInTreeViewNode(trvToSrch.Nodes[i], strToSrch); |
| if (trvNode != null) |
| return trvNode; |
| } |
| return null; |
| } |
|
| public TreeNode srchTxtInTreeViewNode(TreeNode trvNode, String strToSrch) |
| { |
| // check if the treeView is not NULL |
| if (trvNode == null) |
| return null; |
|
| if (trvNode.Text == strToSrch) |
| return trvNode; |
|
| // loop through the nodes in the treeview's sub nodes |
| for (int i = 0; i < trvNode.Nodes.Count; i++) |
| { |
| // recursive call to itself to check lower level nodes |
| TreeNode retTrvNode = srchTxtInTreeViewNode(trvNode.Nodes[i], strToSrch); |
| if (retTrvNode != null) |
| return retTrvNode; |
| } |
| return null; |
| } |
To call the method, I tested it by a Button control:
| private void button1_Click(object sender, EventArgs e) |
| { |
| TreeNode retNode = srchTxtInTreeView(this.trvJust4Test, "Hello"); |
| if (retNode != null) |
| MessageBox.Show(retNode.ToString() + "Node Found!"); |
| } |

How to search a text in Nodes of a TreeVew control?
No comments:
Post a Comment