单击按钮后刷新树视图 [英] refresh tree view after button click

查看:105
本文介绍了单击按钮后刷新树视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已使用以下代码过滤树状视图,似乎搜索功能正常运行,但是我不知道如何刷新树状视图并在单击按钮后填充它.

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";

        }
    }

推荐答案

我认为您可能可以将Bind()发出为:

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();
}


这篇关于单击按钮后刷新树视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆