首页 > 代码库 > C# 递归

C# 递归

调用:

       BLL.Area bll = new BLL.Area();//实例化BLL对象
        DataTable dt = null; 
        private void FormArea_Load(object sender, EventArgs e)
        {
            dt = bll.GetArea(); //获取所有数据
            LoadArea(0, null); //递归
        }
    

 

 

方法:

 private void LoadArea(int pid, TreeNode _node)
        {
            //获取所有要递归的数据 for循环
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                //判断子ID
                if (Convert.ToInt32(dt.Rows[i][2]) == pid)
                {
                    TreeNode node = new TreeNode();
                    node.Text = dt.Rows[i][1].ToString();
                    //如果是根节点
                    if (_node == null)
                    {
                        tvMain.Nodes.Add(node);
                    }
                    else//否则添加到子节点
                    {
                        _node.Nodes.Add(node);
                    }
                    //递归方法
                    LoadArea(Convert.ToInt32(dt.Rows[i][0]), node);
                }
            }
        }