/// <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); } } } }