private void TreeViewMain_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e) { if (TreeViewMain != null) { PrivilegeNode selNode = TreeViewMain.SelectedItem as PrivilegeNode; vm.CurPrivilegeNode = selNode; vm.GetCurCurPrivilege(selNode); } }
private void ModifyNode_Load(object sender, EventArgs e) { #region 初始化扩展的下拉框控件 //checkedListBox1.SelectionMode= SelectionMode.MultiSimple; comboBox1.ImageList = imageList1; comboBox2.ImageList = imageList1; for (int i = 0; i < imageList1.Images.Count; i++) { comboBox1.Items.Add(new ComboBoxExItem(i.ToString(), i)); comboBox2.Items.Add(new ComboBoxExItem(i.ToString(), i)); } #endregion textBox2.Text = currentnode.Text; textBox3.Text = currentnode.Name; comboBox1.Text = currentnode.ImageIndex.ToString(); comboBox2.Text = currentnode.SelectedImageIndex.ToString(); flag = DetailInfo.Categery.TreeNodes.GetNodeFlag(Convert.ToInt32(currentnode.Tag)); if (flag == "N") { radioBtn.Checked = true; radioButton1.Checked = false; checkedListBox1.Visible = false; } else { radioButton1.Checked = true; radioBtn.Checked = false; checkedListBox1.Visible = true; } string sql = "select t.privilege_id,t.privilege_flag from privilege_tab t where t.privilege_cata='Pipe' order by privilege_id"; DataBind(sql); List <int> privilegeids = PrivilegeNode.GetPrivilegeIds(Convert.ToInt32(currentnode.Tag)); OracleDatabase db = new OracleDatabase(DataAccess.OIDSConnStr); DataSet ds = db.ExecuteDataSet(CommandType.Text, sql); //string aa = checkedListBox1.GetItemText(checkedListBox1.Items[1]); for (int j = 0; j < checkedListBox1.Items.Count; j++) { for (int i = 0; i < privilegeids.Count; i++) { if (ds.Tables[0].Rows[j]["privilege_id"].ToString() == privilegeids[i].ToString()) { checkedListBox1.SetItemChecked(j, true); } } } }
/// <summary> /// 当子节点权限改变时,父节点设置相同权限 /// </summary> /// <param name="nodeid"></param> private void SetPrivilegetoParentnode(int privilegeid, int nodeid) { int parentid = TreeNodes.GetParentid(nodeid); tnTmp = nodelist.Find(delegate(TreeNodes tn) { return(tn.Id == parentid); }); if (tnTmp == null)//没有父节点 { return; } else { if (TreeNodes.GetNodeFlag(parentid) == "N")//父节点没有权限设置 { return; } else { if (PrivilegeNode.ExistPrivilege(privilegeid, parentid))//如果父节点有该权限设置 { return; } else { PrivilegeNode pnTmp = new PrivilegeNode();//父节点权限设置 pnTmp.PrivilegeId = privilegeid; pnTmp.NodeId = parentid; int n = pnTmp.Add(); if (n == 0) { MessageBox.Show("Error!"); } SetPrivilegetoParentnode(privilegeid, parentid); } } } }