Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Parfois, vous souhaitez que votre application effectue des actions en fonction des sélections utilisateur dans un contrôle DataGridView. Selon les actions, vous pouvez restreindre les types de sélection possibles. Par exemple, supposons que votre application puisse imprimer un rapport pour l’enregistrement actuellement sélectionné. Dans ce cas, vous pouvez configurer le contrôle DataGridView afin que le clic n’importe où dans une ligne sélectionne toujours l’intégralité de la ligne, de sorte qu’une seule ligne à la fois puisse être sélectionnée.
Vous pouvez spécifier les sélections autorisées en définissant la propriété DataGridView.SelectionMode sur l’une des valeurs d’énumération DataGridViewSelectionMode suivantes.
| Valeur DataGridViewSelectionMode | Descriptif |
|---|---|
| CellSelect | Cliquez sur une cellule pour la sélectionner. Les en-têtes de ligne et de colonne ne peuvent pas être utilisés pour la sélection. |
| ColumnHeaderSelect | Cliquez sur une cellule pour la sélectionner. Cliquez sur un en-tête de colonne pour sélectionner l’intégralité de la colonne. Les en-têtes de colonne ne peuvent pas être utilisés pour le tri. |
| FullColumnSelect | Cliquez sur une cellule ou un en-tête de colonne pour sélectionner l’intégralité de la colonne. Les en-têtes de colonne ne peuvent pas être utilisés pour le tri. |
| FullRowSelect | Cliquer sur une cellule ou un en-tête de ligne sélectionne la ligne entière. |
| RowHeaderSelect | Mode de sélection par défaut. Cliquez sur une cellule pour la sélectionner. Cliquer sur un en-tête de ligne sélectionne la ligne entière. |
Remarque
La modification du mode de sélection au moment de l’exécution efface automatiquement la sélection actuelle.
Par défaut, les utilisateurs peuvent sélectionner plusieurs lignes, colonnes ou cellules en faisant glisser avec la souris, en appuyant sur Ctrl ou Maj lors de la sélection pour étendre ou modifier une sélection, ou en cliquant sur la cellule d’en-tête en haut à gauche pour sélectionner toutes les cellules du contrôle. Pour éviter ce comportement, définissez la propriété MultiSelect sur false.
Les modes FullRowSelect et RowHeaderSelect permettent aux utilisateurs de supprimer des lignes en les sélectionnant et en appuyant sur la touche DELETE. Les utilisateurs peuvent supprimer des lignes uniquement lorsque la cellule active n’est pas en mode édition, la propriété AllowUserToDeleteRows est définie sur trueet la source de données sous-jacente prend en charge la suppression de lignes pilotée par l’utilisateur. Notez que ces paramètres n’empêchent pas la suppression de ligne par programmation.
Sélection programmatique
Le mode de sélection actuel limite le comportement de la sélection programmatique, ainsi que la sélection de l’utilisateur. Vous pouvez modifier la sélection actuelle par programmation en définissant la propriété Selected de toutes les cellules, lignes ou colonnes présentes dans le contrôle DataGridView. Vous pouvez également sélectionner toutes les cellules du contrôle via la méthode SelectAll, en fonction du mode de sélection. Pour effacer la sélection, utilisez la méthode ClearSelection.
Si la propriété MultiSelect est définie sur true, vous pouvez ajouter des éléments DataGridView ou les supprimer de la sélection en modifiant la propriété Selected de l’élément. Sinon, la définition de la propriété Selected sur true pour un élément supprime automatiquement d’autres éléments de la sélection.
Notez que la modification de la valeur de la propriété CurrentCell ne modifie pas la sélection actuelle.
Vous pouvez récupérer une collection des cellules, lignes ou colonnes actuellement sélectionnées via les SelectedCells, SelectedRowset SelectedColumns propriétés du contrôle DataGridView. L’accès à ces propriétés est inefficace lorsque chaque cellule du contrôle est sélectionnée. Pour éviter une pénalité de performances dans ce cas, utilisez d’abord la méthode AreAllCellsSelected. En outre, l’accès à ces collections pour déterminer le nombre de cellules, de lignes ou de colonnes sélectionnées peut être inefficace. Au lieu de cela, vous devez utiliser la méthode GetCellCount, GetRowCountou GetColumnCount, en passant la valeur Selected.
Conseil / Astuce
Vous trouverez un exemple de code illustrant l’utilisation programmatique de cellules sélectionnées dans la vue d’ensemble de la classe DataGridView.
Voir aussi
.NET Desktop feedback