private void MenuButtonCtrl_Load(object sender, EventArgs e)
        {
            DisposeButton();
            if (ItemMenus != null)
            {
                foreach (var item in ItemMenus.OrderByDescending(o => o.SortMenu))
                {
                    XButtonCtrl but = new XButtonCtrl();
                    but.ItemButton     = item;
                    but.XButton_Click += new XButtonEventHandler(MenuItem_Click);

                    AddButton(but);
                }
            }
        }
Exemplo n.º 2
0
        private void InicializaMenu()
        {
            //llena menu principal
            if (Usuario.id_us == "SYSAD")
            {
                vSQL = "SELECT *, 'SYSAD' AS Mnu_Us " +
                       " FROM PadMenu  " +
                       " WHERE Pad_Name In ('PAD001','PAD005') " +
                       " ORDER BY Pad_Order ";
            }
            else
            {
                vSQL = "SELECT PM.*,A.Mnu_Us " +
                       " FROM PadMenu PM INNER JOIN BarMenu BM " +
                       " ON PM.Pad_Popup = BM.Bar_Popup INNER JOIN Accesos A " +
                       " ON BM.Bar_Number = A.Mnu_Bar " +
                       " AND BM.Bar_Popup = A.Mnu_Pop " +
                       " WHERE LTrim(RTrim(A.Mnu_Us)) = '" + Usuario.id_us + "' " +
                       " GROUP BY PM.Pad_Name,PM.Pad_Prompt,PM.Pad_Popup,PM.Pad_Order,A.Mnu_Us " +
                       " ORDER BY PM.Pad_Order ";
            }
            Conexion.CMD.CommandText = vSQL;
            using (SqlDataReader drLectura = Conexion.CMD.ExecuteReader())
            {
                if (drLectura.HasRows)
                {
                    while (drLectura.Read())
                    {
                        ToolStripMenuItem mnuItem = new ToolStripMenuItem();
                        mnuItem.ShowShortcutKeys = true;
                        mnuItem.Text             = drLectura.GetValue(1).ToString().ToUpper();
                        //mnuItem.ShortcutKeys = Keys.Alt | Keys.O;
                        mnuItem.ShortcutKeyDisplayString = drLectura.GetValue(1).ToString();
                        mnuItem.Tag = drLectura.GetValue(2).ToString();
                        menuMDI.Items.Add(mnuItem);
                        mnuItem = null;
                    }
                    drLectura.Close();

                    ToolStripMenuItem mnuItemSalir = new ToolStripMenuItem();
                    mnuItemSalir.ShowShortcutKeys = true;
                    mnuItemSalir.Text             = "&SALIR";
                    mnuItemSalir.ShortcutKeys     = Keys.Alt | Keys.S;
                    mnuItemSalir.Tag = "SALIR";
                    mnuItemSalir.ShortcutKeyDisplayString = "&Salir";
                    menuMDI.Items.Add(mnuItemSalir);
                }
            }

            //limpia el arreglo para asignar los datos
            list.Clear();
            //try
            //{
            //llena submenues por cada item del menu principal
            if (Usuario.id_us == "SYSAD")
            {
                vSQL = "SELECT bar_number,bar_popup,bar_prompt,bar_order," +
                       " REPLACE(LTRIM(RTRIM(SUBSTRING(bar_command, 8, 42))),'.scx','') AS form " +
                       " FROM BarMenu " +
                       " WHERE Bar_Popup + CAST(Bar_Number AS Varchar(3)) = 'POP00113' " +
                       " Or Bar_Popup= 'POP005' " +
                       " ORDER BY Bar_Popup,Bar_Order ";
            }
            else
            {
                vSQL = "SELECT bar_number,bar_popup,bar_prompt,bar_order," +
                       " REPLACE(LTRIM(RTRIM(SUBSTRING(bar_command, 8, 42))),'.scx','') AS form " +
                       " FROM Barmenu BM INNER JOIN Accesos A" +
                       " ON BM.Bar_Popup = A.Mnu_Pop" +
                       " AND BM.Bar_Number = A.Mnu_Bar" +
                       " WHERE LTrim(RTrim(A.Mnu_Us)) = '" + Usuario.id_us + "' " +
                       " ORDER BY BM.Bar_Popup,BM.Bar_Order";
            }
            Conexion.CMD.CommandText = vSQL;
            using (SqlDataReader dr = Conexion.CMD.ExecuteReader())
            {
                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        if (dr.GetValue(4).ToString() != "")
                        {
                            if (dr.GetValue(4).ToString().Substring(0, 3).ToUpper() == "FRM")
                            {
                                ItemMenus mnu = new ItemMenus(dr.GetValue(0).ToString(), dr.GetValue(1).ToString(), dr.GetValue(2).ToString(), dr.GetValue(3).ToString(), dr.GetValue(4).ToString());
                                list.Add(mnu);
                            }
                        }
                        else
                        {
                            ItemMenus mnu = new ItemMenus(dr.GetValue(0).ToString(), dr.GetValue(1).ToString(), dr.GetValue(2).ToString(), dr.GetValue(3).ToString(), dr.GetValue(4).ToString());
                            list.Add(mnu);
                        }
                    }
                    dr.Close();
                }
            }

            //crea los submenus para cada item del menu principal
            CreaSubMenus();
            //}
            //catch( Exception ex )
            //{
            //	var st = new StackTrace(ex, true);
            //	var frame = st.GetFrame(0);
            //	var line = frame.GetFileLineNumber();
            //	var col = frame.GetFileColumnNumber();
            //	MessageBox.Show(ex.Message + (char)13 + "Linea: " + line + " Columna: " + col);
            //}
        }