private void frmMenuItem_Load(object sender, EventArgs e) { try { ads = ora_menuItem.dm_bv_menuItem(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } f_Set_Right(); }
private void gan_right() { int num = 0; int num2 = 0; bool visible = false; s_right = "+" + s_right.Trim('+') + "+"; DataTable dtQuyen = new DataTable("quyen"); CMenuItem mn = new CMenuItem(); dtQuyen = mn.dm_bv_menuItem().Tables[0]; dtQuyen.PrimaryKey = new DataColumn[1] { dtQuyen.Columns["id"] }; CBV_loginDAO bvdlogin = new CBV_loginDAO(); for (int i = 0; i < (this.mainMenu1.MenuItems.Count); i++) { //visible = false; visible = bvisable; for (int j = 0; j < this.mainMenu1.MenuItems[i].MenuItems.Count; j++) { if (this.mainMenu1.MenuItems[i].MenuItems[j].MenuItems.Count == 0) { if (this.mainMenu1.MenuItems[i].MenuItems[j].Text != "-") { string s_MergeOrder = this.mainMenu1.MenuItems[i].MenuItems[j].MergeOrder.ToString().PadLeft(4, '0'); this.mainMenu1.MenuItems[i].MenuItems[j].Visible = (bvisable == true) ? true :((this.s_right.IndexOf("+" + s_MergeOrder + "+") != -1) && (dtQuyen.Rows.Find(s_MergeOrder) != null)); if (!visible) { visible = this.mainMenu1.MenuItems[i].MenuItems[j].Visible; } } else { this.mainMenu1.MenuItems[i].MenuItems[j].Visible = false; } } else { num = 0; for (int k = 0; k < this.mainMenu1.MenuItems[i].MenuItems[j].MenuItems.Count; k++) { if (this.mainMenu1.MenuItems[i].MenuItems[j].MenuItems[k].MenuItems.Count == 0) { if (this.mainMenu1.MenuItems[i].MenuItems[j].MenuItems[k].Text != "-") { string s_MergeOrder = this.mainMenu1.MenuItems[i].MenuItems[j].MenuItems[k].MergeOrder.ToString().PadLeft(4, '0'); this.mainMenu1.MenuItems[i].MenuItems[j].MenuItems[k].Visible = (bvisable == true)?true:((this.s_right.IndexOf("+" + s_MergeOrder + "+") != -1) && (dtQuyen.Rows.Find(s_MergeOrder) != null)); } else { this.mainMenu1.MenuItems[i].MenuItems[j].MenuItems[k].Visible = false; } num += this.mainMenu1.MenuItems[i].MenuItems[j].MenuItems[k].Visible ? 1 : 0; } else { num2 = 0; for (int l = 0; l < this.mainMenu1.MenuItems[i].MenuItems[j].MenuItems[k].MenuItems.Count; l++) { if (this.mainMenu1.MenuItems[i].MenuItems[j].MenuItems[k].MenuItems[l].Text != "-") { string s_MergeOrder = this.mainMenu1.MenuItems[i].MenuItems[j].MenuItems[k].MenuItems[l].MergeOrder.ToString().PadLeft(4, '0'); this.mainMenu1.MenuItems[i].MenuItems[j].MenuItems[k].MenuItems[l].Visible = (bvisable == true)? true :((this.s_right.IndexOf("+" + s_MergeOrder + "+") != -1) && (dtQuyen.Rows.Find(s_MergeOrder) != null)); } else { this.mainMenu1.MenuItems[i].MenuItems[j].MenuItems[k].MenuItems[l].Visible = false; } num2 += this.mainMenu1.MenuItems[i].MenuItems[j].MenuItems[k].MenuItems[l].Visible ? 1 : 0; } this.mainMenu1.MenuItems[i].MenuItems[j].MenuItems[k].Visible = num != 0; } } this.mainMenu1.MenuItems[i].MenuItems[j].Visible = num != 0; if (!visible) { visible = num != 0; } } this.mainMenu1.MenuItems[i].Visible = visible; } } }