Newer
Older
GHFX_REFACTOR / Backup / FrmRegionMgr.cs
wxn on 2 Nov 2016 14 KB 提交
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DevComponents.DotNetBar;
namespace Cyberpipe
{
    public partial class FrmRegionMgr : Office2007Form
    {
        public FrmRegionMgr()
        {
            InitializeComponent();
        }
        /// <summary>
        /// 添加部门类型按钮事件处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void 添加部门类型ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            
            if (treeView1.SelectedNode == null)
            {
                MessageBox.Show("请选择部门类型!");
                return;
            }
            if(treeView2.SelectedNode ==null)
            {
                MessageBox.Show("请选择部门!");
                return;
            }
            if (treeView1.SelectedNode.Text == "部门类型" )
            {
                return;
            }
            FrmRegion frm = new FrmRegion(Convert.ToInt32(treeView1.SelectedNode.Tag.ToString()),Convert.ToInt32(treeView2.SelectedNode.Tag.ToString()),-1,"");
            if (frm.ShowDialog() == DialogResult.OK)
            {
                string sql1 = "select \"id\",\"name\" from casic_region where \"parent\" = -1";
                DataTable dt1 = OledbHelper.QueryTable(sql1);
                if (dt1 != null && dt1.Rows.Count > 0)
                {
                    treeView2.Nodes[0].Nodes.Clear();
                    foreach (DataRow row in dt1.Rows)
                    {
                        TreeNode node = new TreeNode();
                        node.Text = row[1].ToString().Trim();
                        node.Tag = row[0].ToString();

                        treeView2.Nodes[0].Nodes.Add(node);
                        GetChildNode1(node);
                    }
                    treeView2.Nodes[0].ExpandAll();
                }
            }
        }
        /// <summary>
        /// 修改部门类型信息按钮事件处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void 修改部门类型信息ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (treeView1.SelectedNode == null)
            {
                MessageBox.Show("请选择部门类型!");
                return;
            }
            if (treeView2.SelectedNode == null)
            {
                MessageBox.Show("请选择部门!");
                return;
            }
            FrmRegion frm = new FrmRegion(Convert.ToInt32(treeView1.SelectedNode.Tag.ToString()),Convert.ToInt32(treeView2.SelectedNode.Parent.Tag.ToString()), Convert.ToInt32(treeView2.SelectedNode.Tag.ToString()), treeView2.SelectedNode.Text);
            if (frm.ShowDialog() == DialogResult.OK)
            {
                string sql1 = "select \"id\",\"name\" from casic_region where \"parent\" = -1";
                DataTable dt1 = OledbHelper.QueryTable(sql1);
                if (dt1 != null && dt1.Rows.Count > 0)
                {
                    treeView2.Nodes[0].Nodes.Clear();
                    foreach (DataRow row in dt1.Rows)
                    {
                        TreeNode node = new TreeNode();
                        node.Text = row[1].ToString().Trim();
                        node.Tag = row[0].ToString();

                        treeView2.Nodes[0].Nodes.Add(node);
                        GetChildNode1(node);
                    }
                    treeView2.Nodes[0].ExpandAll();
                }
            }
        }
        /// <summary>
        /// 窗体初始化事件处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FrmRegionMgr_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();
            }

            string sql1 = "select \"id\",\"name\" from casic_region where \"parent\" = -1";
            DataTable dt1 = OledbHelper.QueryTable(sql1);
            if (dt1 != null && dt1.Rows.Count > 0)
            {
                foreach(DataRow row in dt1.Rows)
                {
                    TreeNode node = new TreeNode();
                    node.Text = row[1].ToString().Trim();
                    node.Tag = row[0].ToString();
                    
                    treeView2.Nodes[0].Nodes.Add(node);
                    GetChildNode1(node);
                }
                treeView2.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.ToString();
            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);
                }
            }
        }
        private void GetChildNode1(TreeNode ParentNode)
        {
            string sql = "select \"id\",\"name\" from casic_region where \"parent\" =" + ParentNode.Tag.ToString();
            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);
                    GetChildNode1(node);
                }
            }
        }
        /// <summary>
        /// 获取选中节点
        /// </summary>
        /// <param name="node"></param>
        /// <param name="tag"></param>
        private void getSelectedNode(TreeNode node,string tag)
        {
            for (int i = 0; i < node.Nodes.Count; i++)
            {
               
                TreeNode node1 = node.Nodes[i];
                node1.NodeFont = new Font("宋体", 9, FontStyle.Regular);
                node1.ForeColor = Color.Black;
                if (node1.Tag.ToString() == tag)
                {
                    treeView1.SelectedNode = node1;
                    node1.NodeFont = new Font("宋体", 9, FontStyle.Bold);
                    node1.ForeColor = Color.Blue;
                    break;
                }
                else
                {
                    getSelectedNode(node1, tag);
                }
            }
        }
        /// <summary>
        /// 应用按钮事件处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonX1_Click(object sender, EventArgs e)
        {
            if (treeView1.SelectedNode == null)
            {
                MessageBox.Show("请选择部门类型!");
                return;
            }
            if (treeView2.SelectedNode == null)
            {
                MessageBox.Show("请选择部门!");
                return;
            }
            if (treeView1.SelectedNode.Text == "部门类型" || treeView2.SelectedNode.Text == "部门信息")
            {
                return;
            }
            try
            {
                string sql = " update casic_region set \"rid\" = " + treeView1.SelectedNode.Tag.ToString() + " where \"id\" =" + treeView2.SelectedNode.Tag.ToString();

                if (OledbHelper.sqlExecuteNonQuery(sql) > 0)
                {

                }
            }
            catch (Exception ex)
            {
                LogError.PublishError(ex);
            }
        }
        TreeNode preNode = null;
        /// <summary>
        /// 节点选中项改变事件处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            TreeNode currentNode = treeView1.SelectedNode;
            if (currentNode != null)
            {
                if (preNode != null)
                {
                    if (preNode != currentNode)
                    {
                        preNode.NodeFont = new Font("宋体", 9, FontStyle.Regular);
                        preNode.ForeColor = Color.Black;
                    }
                }
                currentNode.NodeFont = new Font("宋体", 9, FontStyle.Bold);
                currentNode.ForeColor = Color.Blue;
                preNode = currentNode;
            }
            else
            {
                return;
            }

        }
        /// <summary>
        /// 节点单击事件处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void treeView2_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            treeView2.SelectedNode = e.Node;
           
            if (e.Button == MouseButtons.Left)
            {
                if (treeView2.SelectedNode.Text != "部门信息")
                {
                    string sql = "select \"rid\" from casic_region where \"id\"=" + treeView2.SelectedNode.Tag.ToString();
                    DataTable dt = OledbHelper.QueryTable(sql);
                    if (dt != null && dt.Rows.Count > 0)
                    {
                        for (int i = 0; i < treeView1.Nodes[0].Nodes.Count; i++)
                        {
                            TreeNode node = treeView1.Nodes[0].Nodes[i];
                            node.NodeFont = new Font("宋体", 9, FontStyle.Regular);
                            node.ForeColor = Color.Black;
                            if (node.Tag.ToString() == dt.Rows[0][0].ToString())
                            {
                                treeView1.SelectedNode = node;
                                node.NodeFont = new Font("宋体", 9, FontStyle.Bold);
                                node.ForeColor = Color.Blue;
                                break;
                            }
                            else
                            {
                                getSelectedNode(node, dt.Rows[0][0].ToString());
                            }
                        }
                    }
                }
                else
                {
                    TreeNode node = treeView1.SelectedNode;
                    if (node != null)
                    {
                        node.NodeFont = new Font("宋体", 9, FontStyle.Regular);
                        node.ForeColor = Color.Black;
                        treeView1.SelectedNode = null;
                    }
                }

            }
            else if (e.Button == MouseButtons.Right)
            {

                if (treeView2.SelectedNode != null && treeView2.SelectedNode.Text != "部门信息")
                {
                    添加部门类型ToolStripMenuItem.Visible = true;
                    删除部门类型信息ToolStripMenuItem.Visible = true;
                    修改部门类型信息ToolStripMenuItem.Visible = true;
                }
                else
                {
                    添加部门类型ToolStripMenuItem.Visible = true;
                    删除部门类型信息ToolStripMenuItem.Visible = false;
                    修改部门类型信息ToolStripMenuItem.Visible = false;

                }
                contextMenuStrip1.Show(treeView2, e.X, e.Y);
            }
            treeView1.Refresh();
        }

        TreeNode preNode1 = null;
        /// <summary>
        /// 节点选中状态改变事件处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void treeView2_AfterSelect(object sender, TreeViewEventArgs e)
        {
            TreeNode currentNode = treeView2.SelectedNode;
            if (currentNode != null)
            {
                if (preNode1 != null)
                {
                    if (preNode1 != currentNode)
                    {
                        preNode1.NodeFont = new Font("宋体", 9, FontStyle.Regular);
                        preNode1.ForeColor = Color.Black;
                    }
                }
                currentNode.NodeFont = new Font("宋体", 9, FontStyle.Bold);
                currentNode.ForeColor = Color.Blue;
                preNode1 = currentNode;
            }
            else
            {
                return;
            }

        }
        /// <summary>
        /// 删除部门类型信息按钮事件处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void 删除部门类型信息ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (treeView2.SelectedNode == null)
            {
                MessageBox.Show("请选择部门!");
                return;
            }
            string sql = "delete from casic_region where id =" + treeView2.SelectedNode.Tag.ToString();
            if (OledbHelper.sqlExecuteNonQuery(sql) > 0)
            {

                sql = "delete from casic_region where \"parent\" =" + treeView2.SelectedNode.Tag.ToString();
                OledbHelper.sqlExecuteNonQuery(sql);
                treeView2.SelectedNode.Remove();
                MessageBox.Show("删除成功!");
            }
        }
        /// <summary>
        /// 节点单击事件处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            treeView1.SelectedNode = e.Node;
        }
        /// <summary>
        /// 关闭按钮事件处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonX2_Click(object sender, EventArgs e)
        {
            Close();
        }
    }
}