Click here to Skip to main content
12,356,784 members (65,207 online)
Rate this:
 
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
RyanDev211.8K
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 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
Top Experts
Last 24hrsThis month


Advertise | Privacy | Mobile
Web02 | 2.8.160621.1 | Last Updated 26 Nov 2012
Copyright © CodeProject, 1999-2016
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