首页 新闻 搜索 专区 学院

TreeView怎么样实现递归?

0
[已关闭问题] 关闭于 2010-11-09 10:52

递归到底是怎么回事呢?

恋@^_^@ 空的主页 恋@^_^@ 空 | 初学一级 | 园豆:200
提问于:2010-11-05 18:20
< >
分享
所有回答(4)
0

你可以去看看一些基础知识,也就是方法自己调用自己,如下面的方法:

private void a()

{

  a();

}

天神一 | 园豆:845 (小虾三级) | 2010-11-05 18:55
0

public void RecureTreeView(TreeNodeCollection nodes){

  foreach(TreeNode node in nodes){

  RecureTreeView(node.Nodes);

  Debug.WriteLine(node.Text);

  }

}

倪大虾 | 园豆:275 (菜鸟二级) | 2010-11-05 21:55
0

 递归就是自己调用自己,自己写一个方法体,在方法体里面再次调用自己就ok了。

 void dg1(string path,TreeNode tn)
        {
            string[] str = Directory.GetDirectories(path);
            foreach (string s in str)
            {
              TreeNode Tn=tn.Nodes.Add(Path.GetFileName(s));
              dg1(s, Tn);
            }

            string[] file = Directory.GetFiles(path);
            foreach (string s1 in file)
            {
                tn.Nodes.Add(Path.GetFileName(s1));
            }
        }

王祖康 | 园豆:505 (小虾三级) | 2010-11-06 09:05
0

private void CreateChildNode(TreeNodeCollection nodes, DataTable dt, int parentId)
        {
            string selectId = string.Format("FatherId={0}", parentId);
            DataRow[] rowList = dt.Select(selectId);
            foreach (DataRow dr in rowList)
            {
                TreeNode tn = new TreeNode();
                nodes.Add(tn);
                tn.Text = dr["PowerName"].ToString();
                tn.Value = dr["Id"].ToString();
                tn.Expanded = false;
                //tn.ImageUrl = "~/SystemSet/Image/Root.gif";
                tn.NavigateUrl = dr["LinkUrl"].ToString();
                tn.Target = "I1";
                int id = int.Parse(tn.Value);
               // node.ChildNodes.Add(tn);
               
                CreateChildNode(tn.ChildNodes, dt, id);
                dt.Rows.Remove(dr);

            }
        }
kureal | 园豆:60 (初学一级) | 2010-11-06 09:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册