Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
A volte si vuole che l'applicazione esegua azioni in base alle selezioni utente all'interno di un controllo DataGridView. A seconda delle azioni, è possibile limitare i tipi di selezione possibili. Si supponga, ad esempio, che l'applicazione possa stampare un report per il record attualmente selezionato. In questo caso, è possibile configurare il controllo DataGridView in modo che facendo clic in un punto qualsiasi all'interno di una riga selezioni sempre l'intera riga e in modo che sia possibile selezionare una sola riga alla volta.
È possibile specificare le selezioni consentite impostando la proprietà DataGridView.SelectionMode su uno dei valori di enumerazione DataGridViewSelectionMode seguenti.
| Valore di DataGridViewSelectionMode | Descrizione |
|---|---|
| CellSelect | Fare clic su una cella per selezionarla. Impossibile utilizzare le intestazioni di riga e di colonna per la selezione. |
| ColumnHeaderSelect | Fare clic su una cella per selezionarla. Facendo clic su un'intestazione di colonna viene selezionata l'intera colonna. Non è possibile utilizzare le intestazioni di colonna per l'ordinamento. |
| FullColumnSelect | Facendo clic su una cella o un'intestazione di colonna, viene selezionata l'intera colonna. Non è possibile utilizzare le intestazioni di colonna per l'ordinamento. |
| FullRowSelect | Facendo clic su una cella o un'intestazione di riga, viene selezionata l'intera riga. |
| RowHeaderSelect | Modalità di selezione predefinita. Fare clic su una cella per selezionarla. Facendo clic su un'intestazione di riga viene selezionata l'intera riga. |
Annotazioni
La modifica della modalità di selezione in fase di esecuzione cancella automaticamente la selezione corrente.
Per impostazione predefinita, gli utenti possono selezionare più righe, colonne o celle trascinando con il mouse, premendo CTRL o MAIUSC mentre si seleziona per estendere o modificare una selezione oppure facendo clic sulla cella di intestazione superiore sinistra per selezionare tutte le celle del controllo. Per evitare questo comportamento, impostare la proprietà MultiSelect su false.
Le modalità FullRowSelect e RowHeaderSelect consentono agli utenti di eliminare le righe selezionandole e premendo il tasto DELETE. Gli utenti possono eliminare righe solo quando la cella corrente non è in modalità di modifica, la proprietà AllowUserToDeleteRows è impostata su truee l'origine dati sottostante supporta l'eliminazione delle righe guidata dall'utente. Si noti che queste impostazioni non impediscono l'eliminazione di righe a livello di codice.
Selezione programmatica
La modalità di selezione corrente limita il comportamento della selezione a livello di codice e della selezione dell'utente. È possibile modificare la selezione corrente a livello di codice impostando la proprietà Selected di qualsiasi cella, riga o colonna presente nel controllo DataGridView. È anche possibile selezionare tutte le celle nel controllo tramite il metodo SelectAll, a seconda della modalità di selezione. Per cancellare la selezione, utilizzare il metodo ClearSelection.
Se la proprietà MultiSelect è impostata su true, è possibile aggiungere o rimuovere elementi DataGridView dalla selezione modificando la proprietà Selected dell'elemento. In caso contrario, l'impostazione della proprietà Selected su true per un elemento rimuove automaticamente altri elementi dalla selezione.
Si noti che la modifica del valore della proprietà CurrentCell non modifica la selezione corrente.
È possibile recuperare una raccolta delle celle, delle righe o delle colonne attualmente selezionate tramite le proprietà SelectedCells, SelectedRowse SelectedColumns del controllo DataGridView. L'accesso a queste proprietà è inefficiente quando viene selezionata ogni cella del controllo. Per evitare una riduzione delle prestazioni in questo caso, usare prima il metodo AreAllCellsSelected. Inoltre, l'accesso a queste raccolte per determinare il numero di celle, righe o colonne selezionate può risultare inefficiente. È invece consigliabile usare il metodo GetCellCount, GetRowCounto GetColumnCount , passando il valore Selected.
Suggerimento
Il codice di esempio che illustra l'uso programmatico delle celle selezionate è disponibile nella panoramica della classe DataGridView.
Vedere anche
.NET Desktop feedback