• winform 递归循环阻止机构


    private void GetTree()
            {
                DataTable dt = new DataTable();
                var sql = @"
    select OUID,ParentOUID,OUCode,OUName,OUShortName from tbl_Base_OUInfo where LEN(oucode) in(10,15) 
    order by LEN(oucode),OrderNo,ParentOUID";
                dt = dataprovider.FillDataTable(sql, CommandType.Text);
                var list = DatatableToHash(dt);
    
                var r = new List<Hashtable>();
                Hashtable root = new Hashtable();
                //集团公司
                root = list.Find(p => p["OUID"].ToString() == "CCB93E1A-CC22-4120-B99F-62E941CC6E4A".ToLower());
                TreeData(list, root, "CCB93E1A-CC22-4120-B99F-62E941CC6E4A".ToLower());
                r.Add(root);
    
    
    
                TreeNode root1 = new TreeNode(r[0]["OUName"].ToString());
                root1.Name = r[0]["OUID"].ToString();
    
                if (r[0].ContainsKey("children"))
                {
                    var children = r[0]["children"] as List<Hashtable>;
                    TreeBindData(root1, children);
                }
                
    
                this.treeView1.Nodes.AddRange(new System.Windows.Forms.TreeNode[] { root1 });
    
                
            }
    private void TreeBindData(TreeNode node,List<Hashtable> list)
            {
                
                for(int i = 0; i < list.Count; i++)
                {
                    if (list[i].ContainsKey("children"))
                    {
                        var children = list[i]["children"] as List<Hashtable>;
                        TreeNode root1 = new TreeNode(list[i]["OUName"].ToString());
                        root1.Name = list[i]["OUID"].ToString();
                        TreeBindData(root1, children);
                        node.Nodes.Add(root1);
                    }
                    else {
                        TreeNode root1 = new TreeNode(list[i]["OUName"].ToString());
                        root1.Name = list[i]["OUID"].ToString();
                        node.Nodes.Add(root1);
                    }
                }
            }
    

       效果:

  • 相关阅读:
    hdu 1088 HTML解析
    hdu1171 转化01背包,组合
    Java编程优化之旅(一)一般化方法
    Java简单实现Socket非阻塞通信
    Maven安装,以及导入Intellij IDEA
    笔记本的使用技巧
    Intellij IDEA使用小技巧
    学习Spring有关知识
    学习安装IntelliJ IDEA
    C#后台调用js方法无效果,未解决。
  • 原文地址:https://www.cnblogs.com/liuqiyun/p/6957205.html
Copyright © 2020-2023  润新知