/// <summary> /// Carrega e popula o menu do form /// </summary> private void CarregaMenu(int idPerfil) { //Instanciando os objetos //----------------------- rMenu regraMenu = new rMenu(); //Declarando DataTables onde serão armazenados os itens de Menu e os SubMenus //--------------------------------------------------------------------------- DataTable dtMenu; //Array para armazenar os itens do menu //------------------------------------- ToolStripMenuItem[] itemMenuP; try { this.ApagaMenu(); //Busca e carrega o DataTable com os Menus Relacionados a um Perfil //----------------------------------------------------------------- dtMenu = regraMenu.BuscaMenu(idPerfil); //Declara o tamanho do Array baseado no tamanho do DataTable com os menus //----------------------------------------------------------------------- itemMenuP = new ToolStripMenuItem[dtMenu.Rows.Count + 1]; for (int contador = 0; contador < dtMenu.Rows.Count; contador++) { itemMenuP[contador] = new ToolStripMenuItem(dtMenu.Rows[contador]["Menu"].ToString()); this.mnuPrincipal.Items.AddRange(new ToolStripMenuItem[] { itemMenuP[contador] }); if (dtMenu.Rows[contador]["ende"] != DBNull.Value) { itemMenuP[contador].Click += new EventHandler(frmInicial_Click); _dicEventos.Add(dtMenu.Rows[contador]["Menu"].ToString(), dtMenu.Rows[contador]["ende"]); } //Caso exista adicionas os menus na coleção e adiciona a chamada dos eventos //-------------------------------------------------------------------------- this.PreencheSubMenu(itemMenuP[contador], dtMenu.Rows[contador]); } this.mnuPrincipal.Items.AddRange(new ToolStripMenuItem[] { this.deslogarToolStripMenuItem }); } catch (Exception ex) { MessageBox.Show(ex.Message, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } finally { regraMenu = null; itemMenuP = null; dtMenu = null; } }
private void PopulaGrid() { rMenu regraMenu = new rMenu(); DataTable dt; try { dt = regraMenu.TelaBuscaMenu(this.txtFiltro.Text); this.dgMenu.DataSource = dt; } catch (Exception ex) { throw ex; } finally { regraMenu = null; } }
/// <summary> /// Busca Menu atraves do filtro escolhido pelo usuario /// </summary> /// <param name="menu">o filtro passado pelo usuário pode ser Vazio</param> /// <returns>DataTable com o resultado da query</returns> private DataTable BuscaMenu(string menu) { rMenu regraMenu = new rMenu(); try { return regraMenu.TelaBuscaMenu(menu); } catch (Exception ex) { throw ex; } finally { regraMenu = null; } }
private void PreencheSubMenu(ToolStripMenuItem itemMenuPai, DataRow drLinha) { rMenu regraSubMenu; DataTable dtSubMenu; ToolStripMenuItem itemSubMenu; int idMenu; try { regraSubMenu = new rMenu(); idMenu = Convert.ToInt32(drLinha["id_menu"]); dtSubMenu = regraSubMenu.BuscaSubMenu(idMenu); if (dtSubMenu.Rows.Count > 0) { for (int i = 0; i < dtSubMenu.Rows.Count; i++) { itemSubMenu = new ToolStripMenuItem(dtSubMenu.Rows[i]["dsc_menu"].ToString()); itemMenuPai.DropDownItems.AddRange(new ToolStripMenuItem[] { itemSubMenu }); if (dtSubMenu.Rows[i]["ende"] != DBNull.Value) { itemMenuPai.DropDownItems[i].Click += new EventHandler(frmInicial_Click); _dicEventos.Add(dtSubMenu.Rows[i]["dsc_menu"].ToString(), dtSubMenu.Rows[i]["ende"]); } this.PreencheSubMenu(itemSubMenu, dtSubMenu.Rows[i]) ; } } else { /*//Caso não exista apenas adiciona o evento ao controle //---------------------------------------------------- itemMenuPai.DropDownItems.Add(drLinha["dsc_menu"].ToString()); itemMenuPai.Click += new EventHandler(frmInicial_Click); _dicEventos.Add(drLinha["dsc_menu"].ToString(), drLinha["ende"]);*/ } } catch (Exception ex) { throw ex; } finally { } }