zoukankan      html  css  js  c++  java
  • C# 树状图

    效果图:

    结构:

    frmMain层

    using hierarchy.BLL;
    using hierarchy.Model;
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace hierarchy.UI
    {
        public partial class frmMain : Form
        {
            public frmMain()
            {
                InitializeComponent();
            }
            hierarchysBll bll = new hierarchysBll();
            List<Thelog> list = null;
            private void frmMain_Load(object sender, EventArgs e)
            {
                tvmo();
            }
    
            #region MyRegion
    
    
    
            public void tvmo() {
                tvMov.Nodes.Clear();
                TreeNode dd = null;
                list = bll.findAll();
                foreach (Thelog item in list)
                {
                    dd = new TreeNode();
                    if (item.Qfatherid == 0)
                    {
                        dd.Tag = item.Qid;
                        dd.Text = item.Qname;
                        tvMov.Nodes.Add(dd);
                        GetNode(dd, item.Qid);
                    }
                }
    
            }
    
    
    
            private void GetNode(TreeNode Qname, int Qid)
            {
                list = bll.findAll();
                TreeNode tn = null;
                if (list.Count > 0)
                {
                    foreach (Thelog drv in list)
                    {
                        if (Qid == drv.Qfatherid)
                        {
                            tn = new TreeNode();
                            tn.Tag = drv.Qid;
                            tn.Text = drv.Qname;
                            Qname.Nodes.Add(tn);
                            GetNode(tn, drv.Qid);
                        }
    
                    }
                }
            }
    
            #endregion
    
            private void button1_Click(object sender, EventArgs e)
            {
                TreeNode node = tvMov.SelectedNode;
                int s = (int)node.Tag;
                int i = node.Level;
                frmaddlei add = new frmaddlei(s, i, node);
                add.Show();
            }
    
            private void button3_Click(object sender, EventArgs e)
            {
                TreeNode node = tvMov.SelectedNode;
                int id = (int)node.Tag;
    
                bool bl = bll.finddel(id);
                if (bl)
                {
                    node.Remove();
                    MessageBox.Show("删除成功!!");
                }
                else
                {
                    MessageBox.Show("出错啦!!!");
                }
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                TreeNode node = tvMov.SelectedNode;
                int s = (int)node.Tag;
                string i = node.Text;
                frmup add = new frmup(s, i, node);
                add.Show();
            }
    
            private void tvMov_AfterSelect(object sender, TreeViewEventArgs e)
            {
                TreeNode node = tvMov.SelectedNode;
                string i = node.Text;
    
                MessageBox.Show(i);
            }
    
    
    
        }
    }

     删除层

    using hierarchy.BLL;
    using hierarchy.Model;
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace hierarchy.UI
    {
        public partial class frmaddlei : Form
        {
            public frmaddlei()
            {
                InitializeComponent();
            }
            int ss = 0;
            int ii = 0;
            TreeNode aodee = null;
            public frmaddlei(int s, int i, TreeNode aode)
            {
                ss = s;
                ii = i;
                aodee = aode;
                InitializeComponent();
    
            }
            hierarchysBll bll = new hierarchysBll();
            private void button1_Click(object sender, EventArgs e)
            {
                Thelog Thelog = new Thelog();
                Thelog.Qname = tbxname.Text;
                Thelog.Qfatherid=ii;
                Thelog.Qtier = ss;
                bool bl = bll.findAdd(Thelog);
                if (bl)
                {
                    MessageBox.Show("添加成功");
                    string guid = Guid.NewGuid().ToString();
                    TreeNode t = new TreeNode(this.tbxname.Text);
                    t.Tag = guid;
                    aodee.Nodes.Add(t);
                    this.Close();
    
                }
            }
        }
    }

     Dal层

    using hierarchy.Model;
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Data.SqlClient;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace hierarchy.DAL
    {
        public class hierarchysDAL
        {
    
            //01.写一个查询所有年级的方法
            public List<Models> findAllGrades()
            {
                List<Models> list = new List<Models>();
                string sql = "select [StudentName] from [Address_IS]";
                DataTable table = SQLHelper.ExecuteDataTable(sql);
                foreach (DataRow item in table.Rows)
                {
                    Models Models = new Models();
                    Models.StudentName = item["StudentName"].ToString();
                    list.Add(Models);
                }
                return list;
    
    
    
            }
    
            //01.写一个查询所有年级的方法
            public List<Thelog> findAll()
            {
                List<Thelog> list = new List<Thelog>();
                string sql = "SELECT * FROM Thelog";
                DataTable table = SQLHelper.ExecuteDataTable(sql);
                foreach (DataRow item in table.Rows)
                {
                    Thelog Thelog = new Thelog();
                    Thelog.Qid = Convert.ToInt32(item["qid"]);
                    Thelog.Qname = item["qname"].ToString();
                    Thelog.Qtier = Convert.ToInt32(item["qtier"]);
                    Thelog.Qfatherid = Convert.ToInt32(item["qfatherid"]);
                    list.Add(Thelog);
                }
                return list;
    
            }
    
            
            public bool findAdd(Thelog Thelog)
            {
                bool bl = false;
                string sql = @"INSERT INTO Thelog(qname,qfatherid,qtier) VALUES(@name,@fatherid,@tid)";
                SqlParameter[] paras = {
                                          new SqlParameter("@name",  Thelog.Qname),
                                          new SqlParameter("@fatherid", Thelog.Qtier),
                                          new SqlParameter("@tid",   Thelog.Qfatherid)
                                           };
                int i = (int)SQLHelper.ExecuteNonQuery(sql,paras);
                if (i > 0)
                {
                    bl = true;
                }
                return bl;
    
            }
    
            public bool finddel(int id) {
                bool bl = false;
                string sql = "delete from Thelog where qid=@nid";
                SqlParameter[] paras = {
                                           new SqlParameter("@nid",id)
                                       };
                int i = (int)SQLHelper.ExecuteNonQuery(sql, paras);
                if (i > 0)
                {
                    bl = true;
                }
                return bl;
            }
    
            public bool update(Thelog Thelog)
            {
                bool bl = false;
                string sql = "update Thelog set qname=@name where qid=@id";
                SqlParameter[] paras = {
                                        new SqlParameter("@name",  Thelog.Qname),
                                          new SqlParameter("@id", Thelog.Qid)
                                       };
                int i = (int)SQLHelper.ExecuteNonQuery(sql, paras);
                if (i > 0)
                {
                    bl = true;
                }
                return bl;
            }
    
    
        }
    }
  • 相关阅读:
    史上最全Java表单验证封装类
    QQ组件可导致IE10无响应
    如何获取特定用户组内的无效账户?
    IN2Windows 8 (Part 2)
    IN2Windows 8 (Part 4) 文件历史记录功能及其重置方法
    IN2Windows 8 (Part 3)
    Android 多文件监听的实现
    Android 调用打电话,发短信(彩信),发邮件,浏览器,分享,跳转系统的各个设置页面
    Android中Drawable小结
    Android 加载.gif格式图片
  • 原文地址:https://www.cnblogs.com/liehuonanjue/p/9221043.html
Copyright © 2011-2022 走看看