Condividi tramite


Comportamento predefinito della tastiera e del mouse nel controllo DataGrid

In questo argomento viene descritto come gli utenti possono interagire con il controllo DataGrid usando la tastiera e il mouse.

Le interazioni tipiche con il DataGrid includono navigazione, selezione e modifica. Il comportamento di selezione è influenzato dalle proprietà SelectionMode e SelectionUnit. I valori predefiniti che causano il comportamento descritto in questo argomento sono DataGridSelectionMode.Extended e DataGridSelectionUnit.FullRow. La modifica di questi valori potrebbe causare un comportamento diverso da quello descritto. Quando una cella è in modalità di modifica, il controllo di modifica potrebbe sostituire il comportamento standard della tastiera del DataGrid.

Comportamento predefinito della tastiera

La tabella seguente elenca il comportamento predefinito della tastiera per il DataGrid.

Chiave o combinazione di tasti Descrizione
FRECCIA GIÙ Sposta il cursore sulla cella sotto quella attuale. Se lo stato attivo si trova nell'ultima riga, premendo freccia GIÙ non viene eseguita alcuna operazione.
FRECCIA SU Sposta il cursore sulla cella direttamente sopra la cella corrente. Se lo stato attivo si trova nella prima riga, premendo freccia SU non viene eseguita alcuna operazione.
FRECCIA SINISTRA Sposta il focus sulla cella precedente della riga. Se il cursore è nella prima cella della riga, premendo la freccia SINISTRA non si verifica alcuna azione.
FRECCIA DESTRA Sposta lo stato attivo sulla cella successiva della riga. Se lo stato attivo si trova nell'ultima cella della riga, premendo il tasto FRECCIA DESTRA non accade nulla.
CASA Sposta lo stato attivo sulla prima cella della riga corrente.
FINE Sposta il focus sull'ultima cella della riga corrente.
PAGINA GIÙ Se le righe non sono raggruppate, scorre il controllo verso il basso in base al numero di righe visualizzate completamente. Sposta il focus sull'ultima riga completamente visualizzata senza modificare le colonne.

Se le righe sono raggruppate, porta il focus sull'ultima riga del DataGrid senza modificare le colonne.
PAGINA SU Se le righe non sono raggruppate, scorre il controllo verso l'alto in base al numero di righe visualizzate completamente. Sposta il focus sulla prima riga visualizzata senza modificare le colonne.

Se righe sono raggruppate, sposta il focus sulla prima riga del DataGrid senza modificare le colonne.
SCHEDA Sposta il focus sulla cella successiva della riga corrente. Se il focus si trova nell'ultima cella della riga, sposta il focus sulla prima cella della riga successiva. Se il focus si trova nell'ultima cella del controllo, sposta il focus sul controllo successivo nell'ordine di tabulazione del contenitore padre.

Se la cella corrente è in modalità di modifica e la pressione di TAB determina lo spostamento dello stato attivo dalla riga corrente, tutte le modifiche apportate alla riga vengono confermate prima che lo stato attivo venga modificato.
MAIUSC+TAB Sposta lo stato attivo sulla cella precedente nella riga corrente. Se lo stato attivo si trova già nella prima cella della riga, sposta lo stato attivo sull'ultima cella della riga precedente. Se lo stato attivo si trova sulla prima cella del controllo, sposta lo stato attivo sul controllo precedente nella sequenza di tabulazione del contenitore padre.

Se la cella corrente è in modalità di modifica e la pressione di TAB sposta il focus dalla riga corrente, tutte le modifiche apportate alla riga vengono sottoposte a commit prima che il focus venga modificato.
CTRL+FRECCIA GIÙ Sposta lo stato attivo sull'ultima cella della colonna corrente.
CTRL+FRECCIA SU Sposta il focus sulla prima cella della colonna attuale.
CTRL+FRECCIA DESTRA Sposta il focus sull'ultima cella della riga corrente.
CTRL+FRECCIA SINISTRA Sposta il cursore sulla prima cella della riga corrente.
CTRL+HOME Sposta il focus sulla prima cella del controllo.
CTRL+FINE Sposta il focus sull'ultima cella del controllo.
CTRL+PGGIÙ Uguale a PAGE DOWN.
CTRL+PAGINA SU Uguale a PAGE UP.
F2 Se la proprietà DataGrid.IsReadOnly è false e la proprietà DataGridColumn.IsReadOnly è false per la colonna corrente, imposta la cella corrente in modalità di modifica.
ENTRARE Applica le modifiche alla cella e alla riga correnti e sposta l'attenzione sulla cella immediatamente sotto quella corrente. Se il cursore si trova nell'ultima riga, applica eventuali modifiche senza spostarlo.
ESC Se il controllo è in modalità di modifica, annulla la modifica e ripristina le modifiche apportate nel controllo. Se l'origine dati sottostante implementa IEditableObject, premendo ESC una seconda volta si annulla la modalità di modifica per l'intera riga.
BACKSPACE Elimina il carattere prima del cursore durante la modifica di una cella.
CANCELLARE Elimina il carattere dopo il cursore durante la modifica di una cella.
CTRL+INVIO Esegue il commit delle modifiche apportate alla cella corrente senza spostare il focus.
CTRL+A Se SelectionMode è impostato su Extended, seleziona tutte le righe nel DataGrid.

Tasti di selezione

Se la proprietà SelectionMode è impostata su Extended, il comportamento di spostamento non cambia, ma lo spostamento con la tastiera mentre si preme MAIUSC (incluso CTRL+MAIUSC) modificherà una selezione a più righe. Prima che la navigazione inizi, il controllo contrassegna la riga corrente come riga di ancoraggio. Quando si naviga tenendo premuto il tasto MAIUSC, la selezione include tutte le righe tra la riga di ancoraggio e la riga corrente.

I tasti di selezione seguenti modificano la selezione multipla di righe.

  • MAIUSC+FRECCIA GIÙ

  • MAIUSC+FRECCIA SU

  • MAIUSC+PAGINA GIÙ

  • MAIUSC+PAGINA SU

  • CTRL+MAIUSC+FRECCIA GIÙ

  • CTRL+MAIUSC+FRECCIA SU

  • CTRL+MAIUSC+HOME

  • CTRL+MAIUSC+FINE

Comportamento predefinito del mouse

La tabella seguente elenca il comportamento predefinito del mouse per il DataGrid.

Azione del mouse Descrizione
Fare clic su una riga non selezionata Rende la riga cliccata la riga corrente e la cella cliccata la cella corrente.
Fare clic sulla cella corrente Inserisce la cella corrente in modalità di modifica.
Trascina l'intestazione di una colonna Se la proprietà DataGrid.CanUserReorderColumns è true e la proprietà DataGridColumn.CanUserReorder è true per la colonna corrente, sposta la colonna in modo che possa essere rilasciata in una nuova posizione.
Trascinare il separatore delle intestazioni di colonna Se la proprietà DataGrid.CanUserResizeColumns è true e la proprietà DataGridColumn.CanUserResize è true per la colonna corrente, ridimensiona la colonna.
Fare doppio clic su un separatore di intestazione di colonna Se la proprietà DataGrid.CanUserResizeColumns è true e la proprietà DataGridColumn.CanUserResize è true per la colonna corrente, ridimensiona automaticamente la colonna utilizzando la modalità di ridimensionamento Auto.
Fare clic sulla cella dell'intestazione di una colonna Se la proprietà DataGrid.CanUserSortColumns è true e la proprietà DataGridColumn.CanUserSort è true per la colonna corrente, ordina la colonna.

Facendo clic sull'intestazione di una colonna già ordinata si invertirà la direzione di ordinamento di tale colonna.

Premendo MAIUSC mentre si fa clic su più intestazioni di colonna, le colonne verranno ordinate in base a più colonne, nell'ordine in cui sono state selezionate.
CTRL+clic su una riga Se SelectionMode è impostato su Extended, modifica una selezione non contigua di più righe.

Se la riga è già selezionata, deseleziona la riga.
MAIUSC+Clic su una riga Se SelectionMode è impostato su Extended, modifica una selezione di più righe contigua.
Fare clic su un'intestazione del gruppo di righe Espande o riduce il gruppo.
Fare clic sul pulsante Seleziona tutto nell'angolo superiore sinistro del DataGrid Se SelectionMode è impostato su Extended, seleziona tutte le righe nel DataGrid.

La selezione del mouse

Se la proprietà SelectionMode è impostata su Extended, facendo clic su una riga premendo CTRL o MAIUSC verrà modificata una selezione a più righe.

Quando si fa clic su una riga premendo CTRL, la riga modifica lo stato di selezione mentre tutte le altre righe mantengono lo stato di selezione corrente. Eseguire questa operazione per selezionare le righe non adiacenti.

Quando si fa clic su una riga premendo MAIUSC, la selezione include tutte le righe tra la riga corrente e una riga di ancoraggio che si trova nella posizione della riga corrente prima del clic. I clic successivi quando si preme MAIUSC modificano la riga corrente, ma non la riga di ancoraggio. Eseguire questa operazione per selezionare un intervallo di righe adiacenti.

È possibile combinare CTRL+MAIUSC per selezionare intervalli non adiacenti di righe adiacenti. A tale scopo, selezionare il primo intervallo usando MAIUSC+clic come descritto in precedenza. Dopo aver selezionato il primo intervallo di righe, usare CTRL+clic per selezionare la prima riga nell'intervallo successivo, quindi fare clic sull'ultima riga nell'intervallo successivo premendo CTRL+MAIUSC.

Vedere anche