Click here to Skip to main content
11,584,208 members (55,673 online)
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
RyanDev162.5K
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 OriginalGriff 390
1 Sergey Alexandrovich Kryukov 334
2 Dave Kreskowiak 240
3 Richard Deeming 220
4 virusstorm 194
0 OriginalGriff 1,663
1 Sergey Alexandrovich Kryukov 1,229
2 Abhinav S 701
3 Dave Kreskowiak 667
4 Suvendu Shekhar Giri 568


Advertise | Privacy | Mobile
Web03 | 2.8.150603.1 | Last Updated 26 Nov 2012
Copyright © CodeProject, 1999-2015
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