📄 branchmaneger.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 + -