• TreeView树形结构


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Data.SqlClient;
    
    namespace WindowsApplication9
    {
        public partial class MainForm : Form
        {
            string username = "";//用户名
            string pwd="";//密码
            private DataTable dt;//用来定义nodetree
            DataBase.DataConnection dataconn = new WindowsApplication9.DataBase.DataConnection();
            public MainForm()
            {
                InitializeComponent();
            }
            public MainForm(string username, string pwd)
            {
                this.username = username;
                this.pwd = pwd;
                InitialDateTable();
                InitializeComponent();
            } 
            private void MainForm_Load(object sender, EventArgs e)
            {
                username_txt.Text = "用户名:"+username+"登录时间:"+DateTime.Now.ToLongDateString();
                BindRoot();
            }
            private void MainForm_FormClosed(object sender, FormClosedEventArgs e)
            {
                LoginForm log = new LoginForm();
                log.Show();
            }
            //初始化树形图
            public void InitialDateTable()
            {
                string sql_str = "select * from XF_Channels";
                SqlConnection conn=dataconn.GetData();
                SqlCommand cmd = new SqlCommand(sql_str,conn);
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                dt = new DataTable();
                da.Fill(dt);
                
            }
            int image_int = 1;
            private void BindRoot()
            {
    
                //treeView1.Nodes.Clear();
                ////填充treeview
                //treeView1.Nodes.Add(" 信息数据库");
                //绑定根节点
    
                DataRow[] rows = dt.Select("BelongToWho=0");//取根 
                foreach (DataRow dRow in rows)
                {
                    TreeNode rootNode = new TreeNode("mm", 8, 0);
                    rootNode.Tag = dRow;
                    rootNode.Text = dRow["ChannelName"].ToString();
                    treeView1.Nodes.Add(rootNode);
                    --image_int;
                    BindChildAreas(rootNode);
                }
    
            }
           
            //递归绑定子区域
            private void BindChildAreas(TreeNode fNode)
            {
           
                DataRow dr = (DataRow)fNode.Tag;//父节点数据关联的数据行
                int fAreaId = (int)dr["ChannelID"]; //父节点ID
                DataRow[] rows = dt.Select("BelongToWho=" + fAreaId);//子区域
                image_int++;
                if (rows.Length == 0)  //递归终止,区域不包含子区域时
                {
                    return;
                }
                foreach (DataRow dRow in rows)
                {
                    TreeNode node = new TreeNode("mm", image_int, 0); 
                    node.Tag = dRow;
                    node.Text = dRow["ChannelName"].ToString();
    
                    //添加子节点
                    fNode.Nodes.Add(node);
                    //递归
                  
                    BindChildAreas(node);
                    node = new TreeNode("mm", --image_int, 0); 
                }
                
            }
        }
    }
    View Code
  • 相关阅读:
    学会拒绝,把时间用在更重要的事情上
    5G即将到来!我们需要一部怎样的手机呢?
    互联网早期是如何发展起来的?
    程序员需要明白这九件事
    centos7安装出现license information(license not accepted)解决办法
    CentOS6.5下安装MySql5.7.17
    Linux操作系统下MySQL的安装 --转
    SecureCRT_教程--1(windows远程登录linux)
    CentOS-7中安装与配置Tomcat8.5
    CentOS7使用firewalld打开关闭防火墙与端口
  • 原文地址:https://www.cnblogs.com/songxxu/p/3292927.html
Copyright © 2020-2023  润新知