private void simpleButton4_Click(object sender, EventArgs e) { try { string formName = "FormTEST"; int userID = 6; //先根据画面名称和用户名,查询画面,按钮注册信息 DataTable dt = Services.DbUserRes.QueryAccess(userID, formName, Services.CConstString.ConnectName); //表列为 name , description, type, num //-----名称(画面或者按钮名) 描述 类型 (FORM 或者BUTTON) 可访问数量(0以上为可访问) //为空,则没有相关注册信息 if (dt == null || dt.Rows.Count == 0) { MessageBox.Show("没有该画面的注册信息."); return; } //遍历找出,可访问的画面,以及不可访问的按钮列表 List <string> formEnable = new List <string>(); List <string> buttonUnable = new List <string>(); for (int i = 0; i < dt.Rows.Count; i++) { string type = dt.Rows[i]["type"].ToString(); string name = dt.Rows[i]["name"].ToString(); string descript = dt.Rows[i]["description"].ToString(); int num = Convert.ToInt32(dt.Rows[i]["num"]); if (type == "FORM" && num > 0) { formEnable.Add(name); } if (type == "BUTTON" && num == 0) { buttonUnable.Add(name); } } //如果画面没有权限,则提示没权限并 退出 if (formEnable.Count == 0) { MessageBox.Show("没有权限访问该画面."); return; } //如果画面有权限,则构造... FormTEST user = new FormTEST(); //只对注册的按钮,进行权限判断 //如果有权限,则不作任何操作,如果没权限又存在,则把(Enable=false 或者 visible=false) //1。 先遍历工具条 int count = user.ChildBar.Manager.Items.Count; for (int i = 0; i < count; i++) { if (buttonUnable.Contains(user.ChildBar.Manager.Items[i].Name)) { user.ChildBar.Manager.Items[i].Enabled = false; //user.ChildBar.Manager.Items[i].Visibility = DevExpress.XtraBars.BarItemVisibility.Never; } } //2。 再遍历画面内可检测到的按钮 if (buttonUnable.Count > 0) { SetControlUnable(user, buttonUnable); } user.Show(); } catch (Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message); } }
private void simpleButton4_Click(object sender, EventArgs e) { try { string formName = "FormTEST"; int userID = 6; //先根据画面名称和用户名,查询画面,按钮注册信息 DataTable dt = Services.DbUserRes.QueryAccess(userID, formName, Services.CConstString.ConnectName); //表列为 name , description, type, num //-----名称(画面或者按钮名) 描述 类型 (FORM 或者BUTTON) 可访问数量(0以上为可访问) //为空,则没有相关注册信息 if (dt == null || dt.Rows.Count == 0) { MessageBox.Show("没有该画面的注册信息."); return; } //遍历找出,可访问的画面,以及不可访问的按钮列表 List<string> formEnable = new List<string>(); List<string> buttonUnable = new List<string>(); for (int i = 0; i < dt.Rows.Count; i++) { string type = dt.Rows[i]["type"].ToString(); string name = dt.Rows[i]["name"].ToString(); string descript = dt.Rows[i]["description"].ToString(); int num = Convert.ToInt32(dt.Rows[i]["num"]); if (type == "FORM" && num > 0) { formEnable.Add(name); } if (type == "BUTTON" && num == 0) { buttonUnable.Add(name); } } //如果画面没有权限,则提示没权限并 退出 if (formEnable.Count == 0) { MessageBox.Show("没有权限访问该画面."); return; } //如果画面有权限,则构造... FormTEST user = new FormTEST(); //只对注册的按钮,进行权限判断 //如果有权限,则不作任何操作,如果没权限又存在,则把(Enable=false 或者 visible=false) //1。 先遍历工具条 int count = user.ChildBar.Manager.Items.Count; for (int i = 0; i < count; i++) { if (buttonUnable.Contains(user.ChildBar.Manager.Items[i].Name)) { user.ChildBar.Manager.Items[i].Enabled = false; //user.ChildBar.Manager.Items[i].Visibility = DevExpress.XtraBars.BarItemVisibility.Never; } } //2。 再遍历画面内可检测到的按钮 if (buttonUnable.Count > 0) { SetControlUnable(user, buttonUnable); } user.Show(); } catch (Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message); } }