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 FrmRegionRoleMgrOld : Office2007Form { public FrmRegionRoleMgrOld() { InitializeComponent(); } private void FrmRegionRoleMgr_Load(object sender, EventArgs e) { string sql = "select id,name from Region 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(); treeView2.Nodes[0].Nodes.Add(node); GetChildNode(node); } treeView2.Nodes[0].ExpandAll(); } sql = "select id,name from Role"; DataTable dt1 = OledbHelper.QueryTable(sql); 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(); treeView1.Nodes[0].Nodes.Add(node); } treeView1.Nodes[0].ExpandAll(); } } private void GetChildNode(TreeNode ParentNode) { string sql = "select id,name from 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); GetChildNode(node); } } } private void buttonX1_Click(object sender, EventArgs e) { if (treeView2.SelectedNode == null) { MessageBox.Show("请选择部门!"); return; } if (treeView1.SelectedNode == null) { MessageBox.Show("请选择角色!"); return; } if (treeView1.SelectedNode.Text == "角色信息") { return; } if (treeView2.SelectedNode.Text == "部门信息") { return; } try { string sql = "select * from RegionRole where reid =" + treeView2.SelectedNode.Tag.ToString(); DataTable dt = OledbHelper.QueryTable(sql); if (dt != null && dt.Rows.Count > 0) { sql = "update RegionRole set rid =" + treeView1.SelectedNode.Tag.ToString() + " where reid =" + treeView2.SelectedNode.Tag.ToString(); } else { sql = "insert into RegionRole values(" + treeView1.SelectedNode.Tag.ToString() + "," + treeView2.SelectedNode.Tag.ToString() + ")"; } if (OledbHelper.sqlExecuteNonQuery(sql) > 0) { MessageBox.Show("保存成功!"); return; } } catch (Exception ex) { LogError.PublishError(ex); } } private void treeView2_Click(object sender, EventArgs e) { if (treeView2.SelectedNode != null) { if (treeView2.SelectedNode.Text != "部门信息") { string sql = "select * from RegionRole where reid=" + 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++) { if (treeView1.Nodes[0].Nodes[i].Tag.ToString() == dt.Rows[0]["rid"].ToString()) { treeView1.SelectedNode = treeView1.Nodes[0].Nodes[i]; treeView1.SelectedNode.NodeFont = new Font("宋体", 9, FontStyle.Bold); treeView1.SelectedNode.ForeColor = Color.Blue; break; } } } } } } TreeNode preNode1 = null; private void treeView2_AfterSelect(object sender, TreeViewEventArgs e) { treeView2.SelectedNode = e.Node; 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; } } TreeNode preNode = null; private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { //if (preNode1 != null) //{ // preNode1.NodeFont = new Font("宋体", 9, FontStyle.Regular); // preNode1.ForeColor = Color.Black; //} 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; } } private void treeView2_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { treeView2.SelectedNode = e.Node; } private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { treeView1.SelectedNode = e.Node; } private void buttonX2_Click(object sender, EventArgs e) { Close(); } } }