public static void ProcesoMenu(DataTable dt, string sCvUsuario, string cvModPadre, ToolStripMenuItem MenuHijo, MenuStrip Menu, Color colorMenu) { foreach (DataRow row in dt.Rows) { Modulo objModulo = new Modulo(); DataTable dtTipo = objModulo.ObtenerTipoModulo(5, 0, "", "", "", "", ""); dtTipo.PrimaryKey = new DataColumn[] { dtTipo.Columns["descripcion"] }; ToolStripMenuItem Menuitem = new ToolStripMenuItem(); Menuitem.TextAlign = ContentAlignment.MiddleLeft; Menuitem.Text = row["Titulo"].ToString(); Menuitem.BackColor = colorMenu; Menuitem.ForeColor = Color.White; Menuitem.Font = new Font("Arial", 12); Perfil objPer = new Perfil(); if (!dtTipo.Rows.Contains(row["Titulo"].ToString())) { DataTable dtnew = objPer.ReportePerfilesModulos(row["Titulo"].ToString(), "%", sCvUsuario, "CS", 0, 0, 0, 0, 0, 14); DataTable dtnewEncabezado = CrearEncabezados(dtnew); DataTable dtmodulo = objModulo.ReporteModulos("%", "%", row["Titulo"].ToString(), "%", "", "%", "%", "", "", "", "", 9); Menuitem.Text = dtmodulo.Rows[0]["descripcion"].ToString(); Menuitem.Image = Utilerias.IconosMenu(row["Titulo"].ToString()); Menuitem.ImageAlign = ContentAlignment.MiddleLeft; if (MenuHijo == null) { Menu.Items.Add(Menuitem); } else { MenuHijo.DropDownItems.Add(Menuitem); } ProcesoMenu(dtnewEncabezado, sCvUsuario, row["Titulo"].ToString(), Menuitem, Menu, colorMenu); } else { Menuitem.Image = Utilerias.IconosMenu(row["Titulo"].ToString()); Menuitem.ImageAlign = ContentAlignment.MiddleLeft; if (MenuHijo == null) { Menu.Items.Add(Menuitem); } else { MenuHijo.DropDownItems.Add(Menuitem); } DataTable dtnew = objPer.ReportePerfilesModulos(cvModPadre, row["Titulo"].ToString(), sCvUsuario, "CS", 0, 0, 0, 0, 0, 14); ValidarHijos(dtnew, Menuitem, colorMenu); } } }
public static void ValidarHijos(DataTable dt, ToolStripMenuItem MenuHijo, Color colorMenu) { foreach (DataRow row in dt.Rows) { if (Convert.ToInt32(row["Hijos"].ToString()) == 0) { ToolStripMenuItem Menuitem = new ToolStripMenuItem(); Menuitem.Text = row["descripcion"].ToString(); Menuitem.BackColor = colorMenu; Menuitem.ForeColor = Color.White; Menuitem.TextAlign = ContentAlignment.MiddleLeft; Menuitem.Font = new Font("Arial", 12); Menuitem.ImageTransparentColor = Color.Blue; Menuitem.Image = Utilerias.IconosMenu(row["Tipo"].ToString()); Menuitem.ImageAlign = ContentAlignment.MiddleLeft; Menuitem.Name = row["Ruta"].ToString(); Menuitem.Click += new EventHandler(Event); MenuHijo.DropDownItems.Add(Menuitem); } } }