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