zoukankan      html  css  js  c++  java
  • TreeView绑定

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            List<NodeInfo> nodeInfoList = new List<NodeInfo>();

            public Form1()
            {
                InitializeComponent();            
            }

            private void Form1_Load(object sender, EventArgs e)
            {
                Init();
                LoadData(new NodeInfo(Guid.Empty, "", Guid.Empty),null);
            }

            public void Init()
            {            
                NodeInfo info1 = new NodeInfo(Guid.NewGuid(),"Node1",Guid.Empty);
                NodeInfo info11 = new NodeInfo(Guid.NewGuid(), "Node11", info1.ID);
                NodeInfo info111 = new NodeInfo(Guid.NewGuid(), "Node111", info11.ID);

                NodeInfo info2 = new NodeInfo(Guid.NewGuid(), "Node2", Guid.Empty);
                NodeInfo info21 = new NodeInfo(Guid.NewGuid(), "Node21", info2.ID);
                NodeInfo info22 = new NodeInfo(Guid.NewGuid(), "Node22", info2.ID);

                NodeInfo info3 = new NodeInfo(Guid.NewGuid(), "Node3", Guid.Empty);
                NodeInfo info31 = new NodeInfo(Guid.NewGuid(), "Node31", info3.ID);
                NodeInfo info311 = new NodeInfo(Guid.NewGuid(), "Node311", info31.ID);

                nodeInfoList.Add(info1);
                nodeInfoList.Add(info11);
                nodeInfoList.Add(info111);
                nodeInfoList.Add(info2);
                nodeInfoList.Add(info21);
                nodeInfoList.Add(info22);
                nodeInfoList.Add(info3);
                nodeInfoList.Add(info31);
                nodeInfoList.Add(info311);
            }

            public void LoadData(NodeInfo nodeInfo,TreeNode parentNode)
            {
                List<NodeInfo> list =new List<NodeInfo>();
                
                list = GetChildrenList(nodeInfo);
                if (list == null || list.Count == 0)
                {
                    return;
                }

                foreach (NodeInfo info in list)
                {
                    if (info.ParentID == nodeInfo.ID)
                    {
                        TreeNode node = new TreeNode(info.Name);
                        node.Tag = info;
                        if (info.ParentID == Guid.Empty)
                        {
                            treeView1.Nodes.Add(node);
                        }
                        else
                        {
                            parentNode.Nodes.Add(node);
                        }
                        LoadData(info, node);
                    }
                }
            }

            private List<NodeInfo> GetChildrenList(NodeInfo nodeInfo)
            {
                List<NodeInfo> list = new List<NodeInfo>();
                list = nodeInfoList.FindAll(o => o.ParentID == nodeInfo.ID);
                return list;
            }
        }

        public class NodeInfo
        {
            public Guid ID { getset; }
            public string Name { getset; }
            public Guid ParentID { getset; }

            public NodeInfo(Guid id, string name, Guid parentId)
            {
                this.ID = id;
                this.Name = name;
                this.ParentID = parentId;
            }
        }
    }
  • 相关阅读:
    添加依赖到pom.xml
    关于换了手机后,导致原来连的fiddler抓不到新手机上的包的解决方法
    关于无法使用python执行进入百度页面的代码修改
    安装完jdk配置环境变量
    关于解决工作中的自动化环境搭建的解决方案(序)
    关于微信公众号的测试
    关于发布中报“未能加载文件或程序集“Newtonsoft.Json”或它的某一个依赖项”的问题解决方法
    .Net Native 跨平台尝试
    ASP.NET 5 Beta8 已经发布
    go框架beego Windows 搭建记录和遇到的坑
  • 原文地址:https://www.cnblogs.com/pnljs/p/3526700.html
Copyright © 2011-2022 走看看