Newer
Older
GHFX_REFACTOR / FrmRegionTypeMgr.cs
wxn on 9 Nov 2016 9 KB 冗余代码整理
using System;
using System.Data;
using System.Windows.Forms;
using DevComponents.DotNetBar;

namespace Cyberpipe
{
    public partial class FrmRegionTypeMgr : Office2007Form
    {
        public FrmRegionTypeMgr()
        {
            InitializeComponent();
        }
        /// <summary>
        /// 添加部门类型 按钮事件处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void 添加部门类型ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (treeView1.SelectedNode != null)
            {
                
                    FrmRegionType frm = new FrmRegionType(Convert.ToInt32(treeView1.SelectedNode.Tag), -1, "");
                    if (frm.ShowDialog() == DialogResult.OK)
                    {
                        treeView1.Nodes[0].Nodes.Clear();
                        string sql = "select \"id\",\"name\" from casic_regiontype where \"parent\" = -1";
                        DataTable dt = OledbHelper.QueryTable(sql);
                        if (dt != null && dt.Rows.Count > 0)
                        {
                            foreach (DataRow row in dt.Rows)
                            {
                                TreeNode node = new TreeNode();
                                node.Text = row[1].ToString().Trim();
                                node.Tag = row[0].ToString();

                                treeView1.Nodes[0].Nodes.Add(node);
                                GetChildNode(node);
                            }
                            treeView1.Nodes[0].ExpandAll();
                        }
                    }
                
                
            }
        }
        /// <summary>
        /// 节点树右键单击事件处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void treeView1_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                if (treeView1.SelectedNode != null && treeView1.SelectedNode.Text != "部门类型")
                {
                    添加部门类型ToolStripMenuItem.Visible = true;
                    删除部门类型信息ToolStripMenuItem.Visible = true;
                    修改部门类型信息ToolStripMenuItem.Visible = true;                    
                }
                else
                {
                    添加部门类型ToolStripMenuItem.Visible = true;
                    删除部门类型信息ToolStripMenuItem.Visible = false;
                    修改部门类型信息ToolStripMenuItem.Visible = false;                    
                }
                contextMenuStrip1.Show(treeView1, e.X, e.Y);
            }
        }
        /// <summary>
        /// 窗体初始化事件处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FrmRegionTypeMgr_Load(object sender, EventArgs e)
        {
            string sql = "select \"id\",\"name\" from casic_regiontype where \"parent\" = -1";
            DataTable dt = OledbHelper.QueryTable(sql);
            if (dt != null && dt.Rows.Count > 0)
            {
                foreach(DataRow row in dt.Rows)
                {
                    TreeNode node = new TreeNode();
                    node.Text = row[1].ToString().Trim();
                    node.Tag = row[0].ToString();
                    
                    treeView1.Nodes[0].Nodes.Add(node);
                    GetChildNode(node);
                }
                treeView1.Nodes[0].ExpandAll();
            }
        }
        /// <summary>
        /// 获取指定节点的子节点
        /// </summary>
        /// <param name="ParentNode"></param>
        private void GetChildNode(TreeNode ParentNode)
        {
            string sql = "select \"id\",\"name\" from casic_regiontype where \"parent\" =" + ParentNode.Tag;
            DataTable dt = OledbHelper.QueryTable(sql);
            if (dt != null && dt.Rows.Count > 0)
            {
                foreach (DataRow row in dt.Rows)
                {
                    TreeNode node = new TreeNode();
                    node.Text = row[1].ToString().Trim();
                    node.Tag = row[0].ToString();

                    ParentNode.Nodes.Add(node);
                    GetChildNode(node);
                }
            }
        }
        /// <summary>
        /// 修改部门类型按钮事件处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void 修改部门类型信息ToolStripMenuItem_Click(object sender, EventArgs e)
        {

            if (treeView1.SelectedNode != null)
            {
                TreeNode node = treeView1.SelectedNode;
                if (treeView1.SelectedNode.Parent.Tag == null)
                {
                    FrmRegionType frm = new FrmRegionType(-1, Convert.ToInt32(node.Tag.ToString()), node.Text);


                    if (frm.ShowDialog() == DialogResult.OK)
                    {
                        treeView1.Nodes[0].Nodes.Clear();
                        string sql = "select \"id\",\"name\" from casic_regiontype where \"parent\" = -1";
                        DataTable dt = OledbHelper.QueryTable(sql);
                        if (dt != null && dt.Rows.Count > 0)
                        {
                            foreach (DataRow row in dt.Rows)
                            {
                                TreeNode node1 = new TreeNode();
                                node1.Text = row[1].ToString().Trim();
                                node1.Tag = row[0].ToString();

                                treeView1.Nodes[0].Nodes.Add(node1);
                                GetChildNode(node1);
                            }
                        }
                        treeView1.Nodes[0].ExpandAll();
                    }
                }
                else
                {
                    FrmRegionType frm = new FrmRegionType(Convert.ToInt32(node.Parent.Tag.ToString()), Convert.ToInt32(node.Tag.ToString()), node.Text);
                    if (frm.ShowDialog() == DialogResult.OK)
                    {
                        treeView1.Nodes[0].Nodes.Clear();
                        string sql = "select \"id\",\"name\" from casic_regiontype where \"parent\" = -1";
                        DataTable dt = OledbHelper.QueryTable(sql);
                        if (dt != null && dt.Rows.Count > 0)
                        {
                            foreach (DataRow row in dt.Rows)
                            {
                                TreeNode node1 = new TreeNode();
                                node1.Text = row[1].ToString().Trim();
                                node1.Tag = row[0].ToString();

                                treeView1.Nodes[0].Nodes.Add(node1);
                                GetChildNode(node1);
                            }
                        }
                        treeView1.Nodes[0].ExpandAll();
                    }

                }
                //FrmRegionType frm = new FrmRegionType(Convert.ToInt32(node.Parent.Tag.ToString()), Convert.ToInt32(node.Tag.ToString()), node.Text);
                //frm.Show();
            }
        }
        /// <summary>
        /// 关闭按钮事件处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonX1_Click(object sender, EventArgs e)
        {
            Close();
        }
        /// <summary>
        /// 删除部门类型事件处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void 删除部门类型信息ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (treeView1.SelectedNode != null)
            {
                TreeNode node = treeView1.SelectedNode;
                if (treeView1.SelectedNode.Parent.Tag == null)
                {

                }
                else
                {
                    try
                    {
                        if (MessageBox.Show("是否删除?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                        {
                            string sql = "delete from casic_regiontype where \"id\"= " + treeView1.SelectedNode.Tag;
                            if (OledbHelper.sqlExecuteNonQuery(sql) > 0)
                            {
                                treeView1.SelectedNode.Remove();
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        LogError.PublishError(ex);
                    }

                }
                //FrmRegionType frm = new FrmRegionType(Convert.ToInt32(node.Parent.Tag.ToString()), Convert.ToInt32(node.Tag.ToString()), node.Text);
                //frm.Show();
            }
        }
        /// <summary>
        /// 节点选中事件处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            treeView1.SelectedNode = e.Node;
        }
    }
}