/// <summary> /// 带参数构造函数 /// </summary> /// <param name="type">类型</param> /// <param name="Code">代码</param> /// <param name="perssion">权限实体</param> public frmPermissionSet_Info(int type, string Code, Class_Permission perssion) { InitializeComponent(); Type = type; MenuCode = Code; App.ButtonStytle(this, false); CurrentPermission = perssion; }
/// <summary> /// 初始化菜单或页签树子结点 /// </summary> /// <param name="MenuPermissions">所有菜单项</param> /// <param name="tn">菜单树结点</param> private void IniMenuTreeview(Class_Permission[] MenuPermissions, Node tn) { Class_Permission tempPermission = (Class_Permission)tn.Tag; for (int i = 0; i < MenuPermissions.Length; i++) { if (MenuPermissions[i].Perm_code.Length == tempPermission.Perm_code.Length + 2 && MenuPermissions[i].Perm_code.Substring(0, tempPermission.Perm_code.Length).Contains(tempPermission.Perm_code)) { Node tempnode = new Node(); tempnode.Tag = MenuPermissions[i]; tempnode.Text = MenuPermissions[i].Perm_name; tempnode.ImageIndex = 0; IniMenuTreeview(MenuPermissions, tempnode); tn.Nodes.Add(tempnode); } } }
/// <summary> /// 更新按钮树结点 /// </summary> private void UpdateButtonTreeview() { trvMenuOrButton.Nodes.Clear(); DataSet ds = App.GetDataSet("select * from t_permission where PERM_KIND='2'"); Class_Permission[] btnPermissions = new Class_Permission[ds.Tables[0].Rows.Count]; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { btnPermissions[i] = new Class_Permission(); btnPermissions[i].Id = ds.Tables[0].Rows[i]["id"].ToString(); btnPermissions[i].Perm_code = ds.Tables[0].Rows[i]["PERM_CODE"].ToString(); btnPermissions[i].Perm_name = ds.Tables[0].Rows[i]["PERM_NAME"].ToString(); btnPermissions[i].Perm_kind = ds.Tables[0].Rows[i]["PERM_KIND"].ToString(); btnPermissions[i].Num = ds.Tables[0].Rows[i]["NUM"].ToString(); Node tn = new Node(); tn.Tag = btnPermissions[i]; tn.Text = btnPermissions[i].Perm_name; tn.ImageIndex = 1; trvMenuOrButton.Nodes.Add(tn); } }
/// <summary> /// 更新菜单树结点 /// </summary> private void UpdateMenuTreeview() { trvMenuOrButton.Nodes.Clear(); Class_Permission[] MenuPermissions = new Class_Permission[ds.Tables[0].Rows.Count]; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { //菜单项 MenuPermissions[i] = new Class_Permission(); MenuPermissions[i].Id = ds.Tables["permission"].Rows[i]["id"].ToString(); MenuPermissions[i].Perm_code = ds.Tables["permission"].Rows[i]["PERM_CODE"].ToString(); MenuPermissions[i].Perm_name = ds.Tables["permission"].Rows[i]["PERM_NAME"].ToString(); MenuPermissions[i].Perm_kind = ds.Tables["permission"].Rows[i]["PERM_KIND"].ToString(); MenuPermissions[i].Num = ds.Tables["permission"].Rows[i]["NUM"].ToString(); //菜单项详细信息 MenuPermissions[i].Permission_Info = new Class_Permission_Info(); //DataSet dsinfo = App.GetDataSet("select * from t_permission_fuctions where PERM_CODE='" + MenuPermissions[i].Perm_code + "'"); DataRow[] dsrows = ds.Tables["fuctions"].Select("PERM_CODE='" + MenuPermissions[i].Perm_code + "'"); if (dsrows.Length > 0) { MenuPermissions[i].Permission_Info.Id = Convert.ToInt32(dsrows[0]["id"]); MenuPermissions[i].Permission_Info.Perm_code = dsrows[0]["PERM_CODE"].ToString(); MenuPermissions[i].Permission_Info.Function = dsrows[0]["FUNCTION"].ToString(); MenuPermissions[i].Permission_Info.Version = dsrows[0]["VERSION"].ToString(); MenuPermissions[i].Permission_Info.DllName = dsrows[0]["DLLNAME"].ToString(); //MenuPermissions[i].Permission_Info.Dll = (byte[])dsinfo.Tables[0].Rows[0]["PERM_DLL"]; if (dsrows[0]["FUNCTIONIMAGE"].ToString() != "") { MenuPermissions[i].Permission_Info.FunctionImage = (byte[])dsrows[0]["FUNCTIONIMAGE"]; } } } //刷新树结点 IniMenuTreeview(MenuPermissions, trvMenuOrButton); for (int i = 0; i < trvMenuOrButton.Nodes.Count; i++) { IniMenuTreeview(MenuPermissions, trvMenuOrButton.Nodes[i]); } }
/// <summary> /// 初始化当前操作的菜单或按钮对象 /// </summary> /// <returns></returns> private Class_Permission IniCurrentPermission(int permission_id, int perssioninfo_id, int kind) { Class_Permission temp = new Class_Permission(); if (perssioninfo_id != 0) { temp.Id = permission_id.ToString(); temp.Perm_code = txtMenuCode.Text; temp.Perm_name = txtMenuName.Text; temp.Perm_kind = kind.ToString(); if (kind == 1) { temp.Permission_Info = new Class_Permission_Info(); temp.Permission_Info.Id = perssioninfo_id; temp.Permission_Info.DllName = txtDllName.Text; temp.Permission_Info.Function = txtFunctinName.Text; temp.Permission_Info.Perm_code = txtMenuCode.Text; temp.Permission_Info.Version = txtVersion.Text; } else if (kind == 3) { temp.Permission_Info = new Class_Permission_Info(); temp.Permission_Info.Id = perssioninfo_id; temp.Permission_Info.Function = txtFunctinName.Text; temp.Permission_Info.Perm_code = txtMenuCode.Text; } } else { temp.Id = permission_id.ToString(); temp.Perm_code = txtButtonCode.Text; temp.Perm_name = txtButtonName.Text; temp.Perm_kind = "2"; } return(temp); }