Compartir a través de


Comportamiento predeterminado del teclado y el mouse en el control DataGrid

En este tema se describe cómo los usuarios pueden interactuar con el DataGrid control mediante el teclado y el mouse.

Interacciones típicas con DataGrid incluyen navegación, selección y edición. El comportamiento de la selección se ve afectado por las propiedades SelectionMode y SelectionUnit. Los valores predeterminados que provocan el comportamiento descrito en este tema son DataGridSelectionMode.Extended y DataGridSelectionUnit.FullRow. Cambiar estos valores puede provocar un comportamiento diferente del descrito. Cuando una celda está en modo de edición, el control de edición podría invalidar el comportamiento estándar del teclado de DataGrid.

Comportamiento predeterminado del teclado

En la tabla siguiente se muestra el comportamiento predeterminado del teclado para el DataGrid.

Tecla o combinación de teclas Descripción
FLECHA ABAJO Mueve el foco a la celda directamente debajo de la celda actual. Si el foco está en la última fila, presionar la flecha abajo no hace nada.
FLECHA ARRIBA Mueve el foco a la celda directamente encima de la celda actual. Si el foco está en la primera fila, presionar la flecha arriba no hace nada.
FLECHA IZQUIERDA Mueve el foco a la celda anterior de la fila. Si el foco está en la primera celda de la fila, presionar la FLECHA IZQUIERDA no hace nada.
FLECHA DERECHA Mueve el foco a la celda siguiente de la fila. Si el foco está en la última celda de la fila, presionar la flecha derecha no hace nada.
INICIO Mueve el foco a la primera celda de la fila actual.
FIN Mueve el foco a la última celda de la fila actual.
PÁGINA ABAJO Si las filas no están agrupadas, desplaza el control hacia abajo por la cantidad de filas que se muestran completamente. Mueve el foco a la última fila totalmente mostrada sin cambiar las columnas.

Si las filas se agrupan, mueve el foco a la última fila en el DataGrid sin cambiar las columnas.
PÁGINA ARRIBA Si las filas no se agrupan, desplaza el control hacia arriba por tantas filas como se muestren completamente. Mueve el foco a la primera fila mostrada sin cambiar las columnas.

Si las filas se agrupan, mueve el foco a la primera fila en DataGrid sin cambiar las columnas.
PESTAÑA Mueve el foco a la celda siguiente de la fila actual. Si el foco está en la última celda de la fila, mueve el foco a la primera celda de la fila siguiente. Si el foco está en la última celda del control, mueve el foco al siguiente control en el orden de tabulación del contenedor primario.

Si la celda actual está en modo de edición y al presionar TAB, el foco se aleja de la fila actual, los cambios realizados en la fila se confirman antes de que se cambie el foco.
MAYÚS+TAB Mueve el foco a la celda anterior de la fila actual. Si el foco ya está en la primera celda de la fila, mueve el foco a la última celda de la fila anterior. Si el foco está en la primera celda del control, mueve el foco al control anterior en el orden de tabulación del contenedor primario.

Si la celda actual está en modo de edición y al presionar TAB, el foco se aleja de la fila actual, los cambios realizados en la fila se confirman antes de que se cambie el foco.
CTRL+FLECHA ABAJO Mueve el foco a la última celda de la columna actual.
CTRL+FLECHA ARRIBA Mueve el foco a la primera celda de la columna actual.
CTRL+FLECHA DERECHA Mueve el foco a la última celda de la fila actual.
CTRL+FLECHA IZQUIERDA Mueve el foco a la primera celda de la fila actual.
CTRL+INICIO Mueve el foco a la primera celda del control.
CTRL+Fin Mueve el foco a la última celda del control.
CTRL+AV PÁG Igual que PAGE DOWN.
CTRL+RE PÁG Igual que PAGE UP.
F2 Si la DataGrid.IsReadOnly propiedad es false y la DataGridColumn.IsReadOnly propiedad es false para la columna actual, coloca la celda actual en modo de edición de celdas.
ENTRAR Confirma los cambios realizados en la celda y fila actuales y mueve el foco a la celda directamente debajo de la celda actual. Si el foco está en la última fila, confirma los cambios sin mover el foco.
ESC Si el control está en modo de edición, cancela la edición y revierte los cambios realizados en el control. Si el origen de datos subyacente implementa IEditableObject, al presionar ESC una segunda vez se cancela el modo de edición de toda la fila.
RETROCESO Elimina el carácter antes del cursor al editar una celda.
ELIMINAR Elimina el carácter después del cursor al editar una celda.
CTRL+ENTRAR Aplica los cambios realizados en la celda actual sin mover el foco.
CTRL+A Si SelectionMode se establece en Extended, selecciona todas las filas en DataGrid.

Claves de selección

Si la SelectionMode propiedad está establecida en Extended, el comportamiento de navegación no cambia, pero navegar con el teclado mientras se presiona MAYÚS (incluido CTRL+MAYÚS) modificará una selección múltiple de filas. Antes de que se inicie la navegación, el control marca la fila actual como una fila de anclaje. Al navegar mientras presiona la tecla MAYÚS, la selección incluye todas las filas entre la fila de anclaje y la fila actual.

Las siguientes teclas de selección modifican la selección de varias filas.

  • MAYÚS+FLECHA ABAJO

  • MAYÚS+FLECHA ARRIBA

  • MAYÚS+PÁGINA ABAJO

  • MAYÚS+PÁGINA ARRIBA

  • CTRL+MAYÚS+FLECHA ABAJO

  • CTRL+MAYÚS+FLECHA ARRIBA

  • CTRL+MAYÚS+INICIO

  • CTRL+MAYÚS+FIN

Comportamiento predeterminado del mouse

En la tabla siguiente se muestra el comportamiento predeterminado del mouse para .DataGrid

Acción del mouse Descripción
Haga clic en una fila no seleccionada. Convierte la fila en la que se hace clic en la fila actual y la celda en la que se hace clic en la celda actual.
Haga clic en la celda actual. Coloca la celda actual en modo de edición.
Arrastrar una celda de encabezado de columna Si la DataGrid.CanUserReorderColumns propiedad es true y la DataGridColumn.CanUserReorder propiedad es true para la columna actual, mueve la columna para que se pueda colocar en una nueva posición.
Arrastra un separador del encabezado de la columna Si la DataGrid.CanUserResizeColumns propiedad es true y la DataGridColumn.CanUserResize propiedad es true para la columna actual, cambia el tamaño de la columna.
Haga doble clic en un separador de encabezado de columna. Si la DataGrid.CanUserResizeColumns propiedad es true y la DataGridColumn.CanUserResize propiedad es true para la columna actual, cambia el tamaño automático de la columna mediante el Auto modo de ajuste de tamaño.
Haga clic en una celda de encabezado de columna. Si la DataGrid.CanUserSortColumns propiedad es true y la DataGridColumn.CanUserSort propiedad es true para la columna actual, ordena la columna.

Al hacer clic en el encabezado de una columna que ya está ordenada, se invertirá la dirección de ordenación de esa columna.

Al presionar la tecla MAYÚS, al hacer clic en varios encabezados de columna, se ordenarán varias columnas en el orden en el que se ha realizado clic.
CTRL + clic en una fila Si SelectionMode se configura en Extended, modifica una selección no contigua de varias filas.

Si la fila ya está seleccionada, deselecciona la fila.
MAYÚS+hacer clic en una fila Si SelectionMode se establece en Extended, modifica una selección contigua de varias filas.
Haga clic en un encabezado de grupo de filas. Despliega o repliega el grupo.
Haga clic en el botón Seleccionar todo en la esquina superior izquierda de la DataGrid Si SelectionMode se establece en Extended, selecciona todas las filas en DataGrid.

Selección del mouse

Si la propiedad SelectionMode está establecida a Extended, al hacer clic en una fila mientras se mantiene presionado CTRL o MAYÚS, se modificará una selección de varias filas.

Al hacer clic en una fila mientras presiona CTRL, la fila cambiará su estado de selección, mientras que todas las demás filas conservan su estado de selección actual. Haga esto para seleccionar filas no adyacentes.

Al hacer clic en una fila mientras presiona MAYÚS, la selección incluye todas las filas entre la fila actual y una fila de anclaje ubicada en la posición de la fila actual antes del clic. Los clics posteriores al presionar la tecla MAYÚS cambian la fila actual, pero no la fila de anclaje. Haga esto para seleccionar un intervalo de filas adyacentes.

CTRL+MAYÚS puede combinarse para seleccionar intervalos no adyacentes en filas contiguas. Para ello, seleccione el primer intervalo mediante MAYÚS+clic como se describió anteriormente. Después de seleccionar el primer intervalo de filas, use CTRL+clic para seleccionar la primera fila del siguiente intervalo y, a continuación, haga clic en la última fila del siguiente intervalo mientras presiona CTRL+MAYÚS.

Consulte también