• Net学习日记_ADO.Net_2_练习(treeView)


    主页面

    数据库(基于之前的省市数据库)

    主程序

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Data.SqlClient;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace treeview1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            // 首先将所有数据读取出来,在进行递归排列
            List<Info> list = new List<Info>();
            private void Form1_Load(object sender, EventArgs e)
            {
                InitData();
                AddTree(0, null);
            }
            void InitData()
            {
                SqlConnection conn = new SqlConnection("server=PC201609230944\SQL2005;database=HeiMaBlog;user=sa;pwd=123456");
                SqlCommand cmd = new SqlCommand("select * from Area", conn);
                conn.Open();
                SqlDataReader dr = cmd.ExecuteReader();
    
                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        Info nin = new Info() { Ar_id = dr.GetInt32(0), Ar_name = dr[1].ToString(), Ar_uid = dr.GetInt32(2) };
                        list.Add(nin);
                    }
                }
            }
    
            // 递归
            // 父id和父节点
            // 省:父id = 0,父节点是trMain
            void AddTree(int pid, TreeNode pnod)
            {
                foreach (Info item in list)
                {
                    if (item.Ar_uid == pid)
                    {
                        // 新建一个节点,并且给节点赋值
                        TreeNode tnod = new TreeNode();
                        tnod.Text = item.Ar_name;
                        if (pnod == null)
                        {
                            // 父节点为null,添加到trMain
                            trMain.Nodes.Add(tnod);
                        }
                        else
                        {
                            //不是,就添加到父级点上
                            pnod.Nodes.Add(tnod);
                        }
                        AddTree(item.Ar_id, tnod);
                    }
                }
            }
    
        }
    }

    辅助

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace treeview1
    {
        class Info
        {
            /// <summary>
            /// 地区编号
            /// </summary>
            int ar_id;
    
            public int Ar_id
            {
                get { return ar_id; }
                set { ar_id = value; }
            }
    
            /// <summary>
            /// 地区名字
            /// </summary>
            string ar_name;
    
            public string Ar_name
            {
                get { return ar_name; }
                set { ar_name = value; }
            }
    
            /// <summary>
            /// 地区父级
            /// </summary>
            int ar_uid;
    
            public int Ar_uid
            {
                get { return ar_uid; }
                set { ar_uid = value; }
            }
        }
    }
  • 相关阅读:
    C#创建Windows Service(Windows 服务)基础教程
    c#写windows服务
    怎么样快速学习AngularJS?
    Web API 安全问题
    ASP.NET Web API身份验证和授权
    通过HttpClient来调用Web Api接口~续~实体参数的传递
    在WebApi中实现Cors访问
    SQL Server 动态生成数据库所有表Insert语句
    EasyUI combobox
    Linq使用Group By 1
  • 原文地址:https://www.cnblogs.com/lisong-home/p/7748296.html
Copyright © 2020-2023  润新知