treeview是这样的结构:
game:
 sony
 sega
 nintendopc:
 microsoft
 ibm
 intel它们的value属性和text属性相同,它们的默认状态是折叠的!  有一个文本框接受输入,输入后点击按钮,相应的节点就会被展开 这个功能应该如何实现?例如我在文本框中输入 sony,game目录就会展开,输入game,game目录会自动展开

解决方案 »

  1.   

    遍厉你的TREEVIEW的值和你的输入框比较,若相等就展开此节点吗.具体代码没有写.
      

  2.   

    string strCur = 输入文本框.Text.Tirm();
                    for (int i = 0; i < trDataDep.Nodes.Count; i++)  //编辑时填充以前被选的发布对像
                    {
                        foreach (TreeNode node in trDataDep.Nodes)
                        {
                                     if(strCur.IndexOf(node.Value)>=0)
                            {
                                node.Expanded = true;
                            }
                            DisplayChildNodeText(node, strCur);
                        }
                    }
    递归: void DisplayChildNodeText(TreeNode nodes, string ss)
            {
               foreach (TreeNode node2 in nodes.ChildNodes)
               {
                   if (ss.IndexOf(node2.Value) >=0)
                   {
                       node2.Checked = true;
                   }
                   DisplayChildNodeText(node2, ss);
               }
           }
      

  3.   

    递归: void DisplayChildNodeText(TreeNode nodes, string ss)
            {
               foreach (TreeNode node2 in nodes.ChildNodes)
               {
                   if (ss.IndexOf(node2.Value) >=0)
                   {
                       node2.Expanded = true;
                   }
                   DisplayChildNodeText(node2, ss);
               }
           }
      

  4.   

    job_2006(初学.net)正解,用递归遍历查询各个节点Indexof()>0即展开该节点
      

  5.   

    DisplayChildNodeText(tv1.Nodes, Session["tv"].ToString());怎么调用怎么说具有一些无效参数?  tv1是treeview对象
      

  6.   

    没想到还没有解决 还要请教大家一下!job_2006(初学.net)  的方法当我输入的值是根节点的时可以正常展开但是如果输入的是子节点的值时就不展开了!我希望输入子节点的值是可以将他的父级节点展开~!