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) { MessageBox.Show(ex.ToString()); } } 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(); } } }