¿Cómo mostrar un menú contextual al hacer clic derecho en un elemento de menú en un DataGridView? Me gustaría agregar eliminar en el menú para que toda la fila se pueda eliminar. Gracias de antemanoAgregar menú contextual en una vista de cuadrícula de datos en una aplicación winform
Respuesta
con referencia a Miguel respuesta
Creo que esto será fácil de implementar como esto
int currentRowIndex;
private void dataGridView1_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e)
{
currentRowIndex = e.RowIndex;
}
private void deleteToolStripMenuItem_Click(object sender, EventArgs e)
{
dataGridView1.Rows.Remove(dataGridView1.Rows[currentRowIndex]);
}
Tendrá que crear un menú contextual con una opción "eliminar fila" en el diseñador. A continuación, asigne la propiedad ContextMenuStrip de DGV (Vista de cuadrícula de datos) a este menú contextual.
continuación, haga doble clic en el elemento de la fila de eliminación, y añadir este código:
DGV.Rows.Remove(DGV.CurrentRow);
También tendrá que añadir un evento MouseUp para la DG V que permite que la celda actual para cambiar al hacer clic en él :
private void DGV_MouseUp(object sender, MouseEventArgs e)
{
// This gets information about the cell you clicked.
System.Windows.Forms.DataGridView.HitTestInfo ClickedInfo = DGV.HitTest(e.X, e.Y);
// This is so that the header row cannot be deleted
if (ClickedInfo.ColumnIndex >= 0 && ClickedInfo.RowIndex >= 0)
// This sets the current row
DataViewMain.CurrentCell = DGV.Rows[ClickedInfo.RowIndex].Cells[ClickedInfo.ColumnIndex];
}
+1 por * "A continuación, asigne la propiedad ** ContextMenuStrip de DGV (Vista de cuadrícula de datos) ** a este menú contextual." * –
Sé que esta pregunta es bastante antigua, pero tal vez alguien todavía tenga uso para esto. Hay un evento para esto, CellContextMenuStripNeeded
. El siguiente código funciona perfectamente para mí y parece menos hacky que el MouseUp
Solución:
private void DGV_CellContextMenuStripNeeded(object sender, DataGridViewCellContextMenuStripNeededEventArgs e)
{
if (e.RowIndex >= 0)
{
DGV.ClearSelection();
DGV.Rows[e.RowIndex].Selected = true;
e.ContextMenuStrip = MENUSTRIP;
}
}
Además, no es necesario comprobar 'if (e.RowIndex> = 0)' ya que el evento es desencadenado por una Celda que está para suew en una fila o en otra. Entonces 'e.RowIndex> = 0' siempre será verdadero. –
Tenga en cuenta que este comportamiento es diferente de lo que sucede con el evento MouseDown y otros similares: en ese caso, el evento se desencadena también cuando el usuario opera con el mouse en la fila del encabezado y se proporciona 'e.Rowindex = -1'. –
Esta debería ser la respuesta aceptada, esta es la forma prevista para lograr el resultado deseado. –
- 1. Necesita desactivar una columna en una vista de cuadrícula de datos en Winform
- 2. Cómo agregar menú contextual al menú contextual de NSOutlineView (
- 3. Enlazar un parámetro de comando de menú contextual a una propiedad de cuadrícula de datos
- 4. Menú contextual en Android WebView
- 5. Ocultar la fila adicional en la parte inferior en una vista de DataGrid en una aplicación de Winform
- 6. Ingresar datos en una cuadrícula
- 7. agregar elemento de menú al menú contextual predeterminado
- 8. Winforms: Problemas al validar una celda en una vista de cuadrícula de datos
- 9. ¿Cómo puedo agregar un menú contextual al Explorador de Windows para una aplicación Java?
- 10. ¿Complemento para agregar paginación en una cuadrícula de datos Flex?
- 11. Menú contextual de TabControl
- 12. Agregar un menú contextual a un elemento
- 13. Agregar método en Android Copiar/Pegar el menú contextual global?
- 14. ¿Cómo agregar menú contextual a wpf datagrid?
- 15. Agregar icono al menú contextual hijo
- 16. ¿Agregar al menú contextual del navegador?
- 17. ¿Cómo establecer el foco en una fila en particular en una cuadrícula de datos/vista de cuadrícula?
- 18. C# Agregar casilla de verificación a WinForms Menú contextual
- 19. C# ¿Cómo agregar mi programa al menú contextual?
- 20. Cómo puedo crear un menú contextual para la cuadrícula extjs
- 21. líneas mulitiple en una celda en una vista de cuadrícula de datos
- 22. menú contextual jquery desactivar elementos de menú
- 23. Agregar elemento de menú al menú contextual de Windows solo para el tipo de archivo específico
- 24. cómo llamar menú contextual
- 25. Agregar un elemento de menú contextual a Windows Explorer
- 26. Menú contextual por clic corto
- 27. addon de firefox: agregar icono al menú contextual
- 28. Chrome - "Guardar como ..." deshabilitado en el menú contextual al usar una URL de "datos"
- 29. ¿Mezcla WPF con una aplicación WinForm?
- 30. Agregar el menú contextual de la barra de tareas a la aplicación Win7
+1 para preguntar exactamente lo que estaba a punto de preguntar. –