Beispiel #1
0
 void grilla_MouseDown(object sender, MouseEventArgs e)
 {
     // Evento ligado solo para Perfiles Superiores!
     if (e.Button == MouseButtons.Right)
     {
         Janus.Windows.GridEX.GridArea gridArea = _grillaActual.HitTest(e.X, e.Y);
         if (gridArea == Janus.Windows.GridEX.GridArea.ColumnHeader)
         {
             // Boton derecho sobre el column header de la grilla.
             // 1) Veo si existe un contextMenu ligado a la grilla.
             if (_grillaActual.ContextMenu == null)
             {
                 ContextMenu menu = new ContextMenu();
                 _grillaActual.ContextMenu = menu;
             }
             // 2) Agrego, si NO EXISTE, una nueva opcion al menu: "ConfigurarColumna".
             if (!_grillaActual.ContextMenu.MenuItems.ContainsKey("ConfigurarColumna"))
             {
                 MenuItem configurarColumna = new MenuItem();
                 configurarColumna.Name   = "ConfigurarColumna";
                 configurarColumna.Click += new EventHandler(configurarColumna_Click);
                 configurarColumna.Text   = "Configurar Columna";
                 _grillaActual.ContextMenu.MenuItems.Add(configurarColumna);
             }
         }
         else
         {
             // Botón derecho sobre la grilla pero FUERA del area Column Header.
             // Elimino, en caso que exista el menu contextual, la opcion "Guardar Configuracion" (si existe).
             if ((_grillaActual.ContextMenu != null) && (_grillaActual.ContextMenu.MenuItems.ContainsKey("ConfigurarColumna")))
             {
                 // Existe el menu y la opcion ==> elimino la opcion.
                 _grillaActual.ContextMenu.MenuItems.RemoveByKey("ConfigurarColumna");
             }
             // Nota: si el menu queda sin opciones ==> no será visible! OK.
         }
     }
 }