⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 branchmaneger.cs

📁 人事管理系统
💻 CS
字号:
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 人事管理
{
    public partial class branchmaneger : Form
    {
        data da = new data();
        public static string TARGETNode;//目标部门
        public static string DRAGGEDNode;//拖动的员工姓名
        bool capture = false;
        bool release = true;
        public branchmaneger()
        {
            InitializeComponent();
        }
        //创建部门
        private void addbranchbtn_Click(object sender, EventArgs e)
        {
            createbranch crb = new createbranch();
            crb.ShowDialog();
            //更新
            DataSet ds = new DataSet();
            SqlDataAdapter sqlda = new SqlDataAdapter("select WorkerID,branchnumname,WorkerName,branchnum.branchnumID,branchnummanegerID from branchnum inner join Worker on Worker.branchnumID=branchnum.branchnumID", da.link());
            sqlda.Fill(ds, "branchnum");
            SqlDataAdapter sqlda1 = new SqlDataAdapter("select branchnumname from branchnum", da.link());
            sqlda1.Fill(ds, "branchnum1");
            TreeNode tn;
            branchlist.Nodes.Clear();
            foreach (DataRow dr in ds.Tables["branchnum1"].Rows)
            {
                tn = new TreeNode(dr[0].ToString());

                branchlist.Nodes.Add(tn);
                foreach (DataRow dr1 in ds.Tables["branchnum"].Rows)
                {
                    if (dr1[1].ToString() == dr[0].ToString())
                    {
                        tn.Nodes.Add(dr1[2].ToString());
                    }
                }
            }
        }
        //部门明细
        private void branchallbtn_Click(object sender, EventArgs e)
        {
            if (branchlist.SelectedNode == null)
            {
                MessageBox.Show("请选择相关部门!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                if (branchlist.SelectedNode.LastNode == null)
                {
                    MessageBox.Show("部门中无员工!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    //mainbranch mab = new mainbranch();
                    //mab.ShowDialog();
                }
                mainbranch mab = new mainbranch();
                mab.branchnamelab.Text = branchlist.SelectedNode.Text;
                mab.ShowDialog();
            }
        }
        private void branchmaneger_Load(object sender, EventArgs e)
        {
            //绑定数据库
            DataSet ds = new DataSet();
            SqlDataAdapter sqlda = new SqlDataAdapter("select branchnumname,WorkerName from branchnum inner join Worker on Worker.branchnumID=branchnum.branchnumID", da.link());
            sqlda.Fill(ds, "branchnum");
            SqlDataAdapter sqlda1 = new SqlDataAdapter("select branchnumname from branchnum", da.link());
            sqlda1.Fill(ds, "branchnum1");
            TreeNode tn;
            foreach (DataRow dr in ds.Tables["branchnum1"].Rows)
            {
                tn = new TreeNode(dr[0].ToString());
                branchlist.Nodes.Add(tn);
                foreach (DataRow dr1 in ds.Tables["branchnum"].Rows)
                {
                    if (dr1[0].ToString() == dr[0].ToString())
                    {
                        tn.Nodes.Add(dr1[1].ToString());
                    }
                }
            }
            //if (branchlist.Nodes.Count > 0)
            //    branchlist.SelectedNode = branchlist.Nodes[0];
        }
        //删除
        private void deletebranchbtn_Click(object sender, EventArgs e)
        {
            if (branchlist.SelectedNode.Parent == null)
            {
                if (branchlist.SelectedNode.Nodes.Count == 0)
                {
                    MessageBox.Show("确定要删除该部门?", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    string sqlDepart = "delete branchnum where branchnumname='" + branchlist.SelectedNode.Text + "'";
                    branchlist.Nodes.Remove(branchlist.SelectedNode);
                    SqlCommand cmd = new SqlCommand(sqlDepart, da.link());
                    cmd.ExecuteNonQuery();
                }
                else
                {
                    MessageBox.Show("该部门存在员工不能删除,是否转移员工?", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    //转移部门
                    //string updateEmp="update employees where departmentid="


                }
            }
            //else
            //{
            //    string sqlbind = "delete Worker where WorkerName='" + branchlist.SelectedNode.Text + "'";
            //    SqlCommand cmd = new SqlCommand(sqlbind, da.link());
            //    cmd.ExecuteNonQuery();
            //    branchlist.SelectedNode.Remove();
            //}
        }

        private void branchlist_ItemDrag(object sender, ItemDragEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                DoDragDrop(e.Item, DragDropEffects.Move);
            }
        }

        private void branchlist_DragEnter(object sender, DragEventArgs e)
        {
            e.Effect = e.AllowedEffect;
        }

        private void branchlist_DragOver(object sender, DragEventArgs e)
        {
            Point targetPoint = branchlist.PointToClient(new Point(e.X, e.Y));

            branchlist.SelectedNode = branchlist.GetNodeAt(targetPoint);
        }

        private void branchlist_DragDrop(object sender, DragEventArgs e)
        {
            if (branchlist.SelectedNode.Parent != null)
            {
                MessageBox.Show("请移到部门处!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                Point targetPoint = branchlist.PointToClient(new Point(e.X, e.Y));
                TreeNode targetNode = branchlist.GetNodeAt(targetPoint);
                TreeNode draggedNode = (TreeNode)e.Data.GetData(typeof(TreeNode));
                TARGETNode = targetNode.Text;
                DRAGGEDNode = draggedNode.Text;
                if (!draggedNode.Equals(targetNode) && !ContainsNode(draggedNode, targetNode))
                {
                    if (e.Effect == DragDropEffects.Move)
                    {
                        draggedNode.Remove();
                        targetNode.Nodes.Add(draggedNode);
                    }
                    targetNode.Expand();
                }
                SqlCommand sqlcomm = new SqlCommand("Up_DragDepartment", da.link());
                sqlcomm.CommandType = CommandType.StoredProcedure;
                sqlcomm.Parameters.Add("@WorkerName", DRAGGEDNode);
                sqlcomm.Parameters.Add("@branchnumname", TARGETNode);
                sqlcomm.ExecuteNonQuery();
            }
            if (capture)
            {
                release = true;
                capture = false; 
                
            }

        }
        private bool ContainsNode(TreeNode node1, TreeNode node2)
        {
            // Check the parent node of the second node.
            if (node2.Parent == null) return false;
            if (node2.Parent.Equals(node1)) return true;

            // If the parent node is not null or equal to the first node, 
            // call the ContainsNode method recursively using the parent of 
            // the second node.
            return ContainsNode(node1, node2.Parent);
        }
        private void branchlist_AfterSelect(object sender, TreeViewEventArgs e)
        {
            if (!capture && release)
            {
                if (branchlist.SelectedNode != null)
                {
                    if (branchlist.SelectedNode.Parent == null)
                        branchlist.AllowDrop = false;
                    else
                    {
                        capture = true;
                        release = false;
                        branchlist.AllowDrop = true;
                    }
                }
            }
        }
        //退出
        private void outbtn_Click(object sender, EventArgs e)
        {
            DialogResult sss = MessageBox.Show("请确认要退出!", "请确认要退出!", MessageBoxButtons.YesNo);
            if (sss == DialogResult.Yes)
            {
                this.Close();
            }
        }

    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -