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

📄 frmdept.cs

📁 基于SQLSERVER C#2.0的企业ERP管理系统
💻 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 HRP.BaseInfo
{
    public partial class frmDept : Form
    {

        public frmDept()
        {
            InitializeComponent();
        }
        private SqlDataAdapter sda;
        BaseClass.BaseClass baseclass = new HRP.BaseClass.BaseClass();
        BaseClass.SqlClass sqlclass = new HRP.BaseClass.SqlClass();
        private DataTable tblinfo = new DataTable();
        private void frmDept_Load(object sender, EventArgs e)
        {
            this.sda = sqlclass.sqlsda("SELECT * FROM tb_dept ORDER BY DeptId");
            this.sda.Fill(tblinfo);//读入数据
            DataTable temptbl = tblinfo.Copy();//将部门表另存一份为temptbl
            DataView viewinfo = new DataView(temptbl);
            viewinfo.RowFilter = "DeptID = 1";
            //将数据集中的所有记录逐个根据他们之间的关系添加到树形表中去
            if (viewinfo.Count > 0)
            {
                foreach (DataRowView myRow in viewinfo)
                {
                    string strdeptName = myRow["DeptName"].ToString().Trim();
                    //此处是添加第一个节点“首席执行官”
                    this.trvDept.Nodes.Add(new TreeNode(strdeptName));
                    //此处初始化参数是第一个节点“首席执行官”,然后该函数会递归添加所有子节点
                    PopulateTreeView(strdeptName, trvDept.Nodes[0], myRow);
                    trvDept.SelectedNode = trvDept.Nodes[0]; //选中第一个节点 
                }
            }
        }
        private void PopulateTreeView(string parentPart, TreeNode parentNode, DataRowView parentRow)
        {
            string strdeptName = "";
            DataTable temptbl = tblinfo.Copy();
            DataView viewinfo = new DataView(temptbl);
            //筛选获得当前传递过来的节点的子项,并将其添加到树形图中
            //判断方法是凡parentIndex等于传递过来的节点的absIndex的,就是该节点的子项
            viewinfo.RowFilter = "ParentIndex = '" + parentRow["DeptID"].ToString().Trim() + "'";
            //递归的添加每一个节点的所有子节点
            foreach (DataRowView myRow in viewinfo)
            {
                strdeptName = myRow["DeptName"].ToString().Trim();
                TreeNode myNode = new TreeNode(strdeptName);
                parentNode.Nodes.Add(myNode);
                //函数递归调用,将所有节点按顺序添加完毕
                PopulateTreeView(strdeptName, myNode, myRow);
            }
        }
        private void tlClose_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        //修改部门
        private void tlEdit_Click(object sender, EventArgs e)
        {
            if (baseclass.RepeatName(txtDeptName.Text, "edit"))
            {
                MessageBox.Show("部门已经存在!");
            }
            else
            {
                try
                {
                    baseclass.SqlComDeptEdit(txtDeptName.Text, txtDeptDirector.Text, txtDeptTel.Text, txtDeptID.Text);
                    this.trvDept.SelectedNode.Text = txtDeptName.Text;
                }
                catch (Exception express)
                {
                    MessageBox.Show(express.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
        //删除部门
        private void tlDelete_Click(object sender, EventArgs e)
        {
            string deptname = this.txtDeptName.Text.Trim();
            if (txtDeptID.Text == "1")
            {
                MessageBox.Show("此部门不能删除!");
            }
            else
            {
                try
                {
                    if (baseclass.InferiorDept(txtDeptID.Text))
                    {
                        MessageBox.Show("存在下级部门,不能删除!");
                    }
                    else
                    {
                        baseclass.SqlComDept(deptname);
                        this.trvDept.SelectedNode.Remove();
                    }
                }
                catch (Exception express)
                {
                    MessageBox.Show(express.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }     
        }
        //添家同级部门
        private void tlAddRoot_Click(object sender, EventArgs e)
        {
            if (txtParentIndex.Text=="-1")
            {
                MessageBox.Show("此部门不能添加同级部门!");
                return;
            }
            if (baseclass.RepeatName("新建部门", "add"))
            {
                MessageBox.Show("部门已经存在!");
            }
            else
            {
                try
                {
                    baseclass.SqlComDeptAdd("新建部门", "无主管", "无电话", txtParentIndex.Text);
                    this.trvDept.SelectedNode.Parent.Nodes.Add("新建部门");
                }
                catch (Exception express)
                {
                    MessageBox.Show(express.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
        //添家子级部门
        private void tlAddChild_Click(object sender, EventArgs e)
        {
            if (baseclass.RepeatName("新建部门", "add"))
            {
                MessageBox.Show("部门已经存在!");
            }
            else
            {
                try
                {
                    baseclass.SqlComDeptAdd("新建部门", "无主管", "无电话", txtDeptID.Text);
                    this.trvDept.SelectedNode.Nodes.Add("新建部门");
                }
                catch (Exception express)
                {
                    MessageBox.Show(express.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
        //选中部门
        private void trvDept_AfterSelect(object sender, TreeViewEventArgs e)
        {
            this.txtDeptName.Text = e.Node.Text.Trim();
            DataSet ds = sqlclass.SqlDaAd("select * from tb_Dept where DeptName='" + this.txtDeptName.Text + "'", "tb_Dept");
            DataRowView rowview = ds.Tables["tb_Dept"].DefaultView[0];
            this.txtDeptDirector.Text = rowview["DeptDirector"].ToString();
            this.txtDeptTel.Text = rowview["DeptTel"].ToString();
            this.txtDeptID.Text = rowview["DeptID"].ToString();
            this.txtParentIndex.Text = rowview["ParentIndex"].ToString();
            ds.Dispose();  
        }
    }
}

⌨️ 快捷键说明

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