关闭

C#,asp.net 递归算法初始化树节点

标签: 递归 初始化树 C# Asp.net
191人阅读 评论(0) 收藏 举报

  通过递归的方式初始化树节点

  方法如下

  表结构: TREE_ID  树编号ID ,

                   TREE_NAME  树名称, 

                   TREE_PARENT_ID 父节点编号ID,

                   DESCR 描述 

 public void InitTreeList(TreeNodeCollection Nds, string partent_id, DataTable dt)

        {
            DataView dv = new DataView();  //创建一个 DataView对象
            TreeNode tmpNd;//节点对象
            dv.Table = dt;//存放节点的DataTable 
            dv.RowFilter = "TREE_PARENT_ID='" + partent_id + "'";//过滤
            foreach (DataRowView dr in dv)//遍历循环 
            {
                tmpNd = new TreeNode();
                if (dr["TREE_ID"].ToString().Trim().StartsWith("frm"))
                {
                    tmpNd.Tag = "lastNode";//判断是否为根节点  
                }
                tmpNd.Name = dr["TREE_ID"].ToString().Trim();//节点属性赋值 名称
                tmpNd.Text = dr["TREE_NAME"].ToString().Trim();// tmpNd.Text = dr["TREE_NODE_NAME"].ToString().Trim();//显示的Text
                tmpNd.SelectedImageIndex = 1;//树节点添加图标   添加一个Imagelist 就好了 
                Nds.Add(tmpNd);//添加节点
                InitTreeList(tmpNd.Nodes, tmpNd.Name.ToString(), dt);//递归调用
            }

        }

调用:

  InitTreeList(trv_func.Nodes, "VV", dtTree);

// 参数解释: trv_func 就是窗体中的Treeview控件 ,"VV" 初始化节点的时候根节点 俗名:老嘎达 ,dtTree 存放树结构的表


有问题请加QQ群 :480888314


欢迎大家互动 共享




0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:823次
    • 积分:65
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档