?? 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 + -