Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: ASP.NET LINQ
i have used below code for filtering tree view, it seems search function works correctly, but i do not know how to refresh tree view and populate that after clicking the button.
 
private IEnumerable<TreeNode> FindNodeByValue(TreeNodeCollection nodes, string searchstring)
    {
        foreach (TreeNode node in nodes)
        {
            if (node.Value.IndexOf(searchstring,
                  StringComparison.CurrentCultureIgnoreCase) >= 0)
                yield return node;
            else
            {
                foreach (var subNode in FindNodeByValue(node.ChildNodes, searchstring))
                    yield return subNode;
            }
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
       
        var query= FindNodeByValue(TreeView1.Nodes, fieldFilterTxtBx.Text);
        if (query != null)
        {
            //TreeView1.Nodes[0].Expand();
            //TreeView1.Nodes.Clear();
            foreach (TreeNode node in query.ToList())
            {
                TreeView1.Nodes.Add(node);
                
            }
 

            //  TreeNode newnode = new TreeNode("Detail Engineering");
            // TreeView1.Nodes.Add(newnode);

            TreeView1.ExpandAll();
        }
 
        else
        {
 
            Label1.Text = "No file found";
 
        }
    }
Posted 26-Nov-12 8:53am
Edited 26-Nov-12 9:06am
RyanDev114.7K
v2

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

I think you may be able to issue a Bind() as:
 
if (query != null)
{
    //TreeView1.Nodes[0].Expand();
    //TreeView1.Nodes.Clear();

    foreach (TreeNode node in query.ToList())
    {
        TreeView1.Nodes.Add(node);
    }
 
    TreeView1.Bind();
 
    //  TreeNode newnode = new TreeNode("Detail Engineering");
    // TreeView1.Nodes.Add(newnode);

    TreeView1.ExpandAll();
}
  Permalink  
Comments
masoud_sedighy at 27-Nov-12 8:54am
   
i did it, but does not works.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 553
1 George Jonsson 258
2 OriginalGriff 235
3 CPallini 210
4 PIEBALDconsult 155
0 OriginalGriff 5,865
1 Sergey Alexandrovich Kryukov 5,316
2 CPallini 4,760
3 George Jonsson 3,400
4 Gihan Liyanage 2,522


Advertise | Privacy | Mobile
Web02 | 2.8.140916.1 | Last Updated 26 Nov 2012
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100