Types de colonnes dans le contrôle DataGridView Windows Forms
Le DataGridView contrôle utilise plusieurs types de colonnes pour afficher ses informations et permettre aux utilisateurs de modifier ou d’ajouter des informations.
Lorsque vous liez un DataGridView contrôle et définissez la AutoGenerateColumns propriété true
sur , les colonnes sont générées automatiquement à l’aide de types de colonnes par défaut appropriés pour les types de données contenus dans la source de données liée.
Vous pouvez également créer des instances de l’une des classes de colonne vous-même et les ajouter à la collection retournée par la Columns propriété. Vous pouvez créer ces instances à utiliser comme colonnes indépendantes, ou vous pouvez les lier manuellement. Les colonnes liées manuellement sont utiles, par exemple, lorsque vous souhaitez remplacer une colonne générée automatiquement d’un type par une colonne d’un autre type.
Le tableau suivant décrit les différentes classes de colonnes disponibles pour une utilisation dans le DataGridView contrôle.
Classe | Description |
---|---|
DataGridViewTextBoxColumn | Utilisé avec des valeurs textuelles. Généré automatiquement lors de la liaison à des nombres et des chaînes. |
DataGridViewCheckBoxColumn | Utilisé avec Boolean et CheckState valeurs. Généré automatiquement lors de la liaison à des valeurs de ces types. |
DataGridViewImageColumn | Permet d’afficher des images. Généré automatiquement lors de la liaison à des tableaux d’octets, Image des objets ou Icon des objets. |
DataGridViewButtonColumn | Permet d’afficher des boutons dans les cellules. Non généré automatiquement lors de la liaison. Généralement utilisé comme colonnes indépendantes. |
DataGridViewComboBoxColumn | Permet d’afficher des listes déroulantes dans des cellules. Non généré automatiquement lors de la liaison. Généralement lié aux données manuellement. |
DataGridViewLinkColumn | Permet d’afficher des liens dans des cellules. Non généré automatiquement lors de la liaison. Généralement lié aux données manuellement. |
Type de colonne personnalisé | Vous pouvez créer votre propre classe de colonne en hériter la DataGridViewColumn classe ou l’une de ses classes dérivées pour fournir une apparence, un comportement ou des contrôles hébergés personnalisés. Pour plus d’informations, consultez Comment : personnaliser des cellules et des colonnes dans le contrôle DataGridView Windows Forms en étendant leur comportement et leur apparence |
Ces types de colonnes sont décrits plus en détail dans les sections suivantes.
DataGridViewTextBoxColumn
Il DataGridViewTextBoxColumn s’agit d’un type de colonne à usage général à utiliser avec des valeurs textuelles telles que des nombres et des chaînes. En mode édition, un TextBox contrôle s’affiche dans la cellule active, ce qui permet aux utilisateurs de modifier la valeur de la cellule.
Les valeurs de cellule sont automatiquement converties en chaînes pour l’affichage. Les valeurs entrées ou modifiées par l’utilisateur sont automatiquement analysées pour créer une valeur de cellule du type de données approprié. Vous pouvez personnaliser ces conversions en gérant les événements et CellParsing les CellFormatting événements du DataGridView contrôle.
Le type de données de valeur de cellule d’une colonne est spécifié dans la ValueType propriété de la colonne.
DataGridViewCheckBoxColumn
Il DataGridViewCheckBoxColumn est utilisé avec Boolean et CheckState avec des valeurs. Booleanles valeurs s’affichent sous forme de zones de case activée à deux états ou à trois états, selon la valeur de la ThreeState propriété. Lorsque la colonne est liée à des CheckState valeurs, la ThreeState valeur de propriété est true
par défaut.
En règle générale, case activée valeurs de cellule box sont destinées au stockage, comme n’importe quelle autre donnée, ou à l’exécution d’opérations en bloc. Si vous souhaitez répondre immédiatement lorsque les utilisateurs cliquent sur une cellule de zone de case activée, vous pouvez gérer l’événementCellClick, mais cet événement se produit avant la mise à jour de la valeur de la cellule. Si vous avez besoin de la nouvelle valeur au moment du clic, une option consiste à calculer la valeur attendue en fonction de la valeur actuelle. Une autre approche consiste à valider immédiatement la modification et à gérer l’événement CellValueChanged pour y répondre. Pour valider la modification lorsque la cellule est cliquée, vous devez gérer l’événement CurrentCellDirtyStateChanged . Dans le gestionnaire, si la cellule active est une cellule case activée, appelez la CommitEdit méthode et transmettez la Commit valeur.
DataGridViewImageColumn
Il DataGridViewImageColumn est utilisé pour afficher des images. Les colonnes d’image peuvent être remplies automatiquement à partir d’une source de données, renseignées manuellement pour les colonnes indépendantes ou renseignées dynamiquement dans un gestionnaire pour l’événement CellFormatting .
La population automatique d’une colonne d’image à partir d’une source de données fonctionne avec des tableaux d’octets dans divers formats d’image, y compris tous les formats pris en charge par la Image classe et le format OLE Picture utilisé par Microsoft® Access et l’exemple de base de données Northwind.
Remplir une colonne d’image manuellement est utile lorsque vous souhaitez fournir les fonctionnalités d’un DataGridViewButtonColumn, mais avec une apparence personnalisée. Vous pouvez gérer l’événement DataGridView.CellClick pour répondre aux clics dans une cellule d’image.
Le remplissage des cellules d’une colonne d’image dans un gestionnaire pour l’événement CellFormatting est utile lorsque vous souhaitez fournir des images pour des valeurs calculées ou des valeurs dans des formats non-image. Par exemple, vous pouvez avoir une colonne « Risque » avec des valeurs de chaîne telles que "high"
, "middle"
et "low"
que vous souhaitez afficher en tant qu’icônes. Vous pouvez également avoir une colonne « Image » qui contient les emplacements des images qui doivent être chargées plutôt que le contenu binaire des images.
DataGridViewButtonColumn
Avec le DataGridViewButtonColumn, vous pouvez afficher une colonne de cellules qui contiennent des boutons. Cela est utile lorsque vous souhaitez fournir un moyen simple à vos utilisateurs d’effectuer des actions sur des enregistrements particuliers, telles que le placement d’une commande ou l’affichage d’enregistrements enfants dans une fenêtre distincte.
Les colonnes de bouton ne sont pas générées automatiquement lors de la liaison de données d’un DataGridView contrôle. Pour utiliser des colonnes de bouton, vous devez les créer manuellement et les ajouter à la collection retournée par la DataGridView.Columns propriété.
Vous pouvez répondre aux clics utilisateur dans les cellules de bouton en gérant l’événement DataGridView.CellClick .
DataGridViewComboBoxColumn
Avec le DataGridViewComboBoxColumn, vous pouvez afficher une colonne de cellules qui contiennent des zones de liste déroulante. Cela est utile pour l’entrée de données dans les champs qui ne peuvent contenir que des valeurs particulières, telles que la colonne Catégorie de la table Products dans l’exemple de base de données Northwind.
Vous pouvez remplir la liste déroulante utilisée pour toutes les cellules de la même façon que vous remplissez une ComboBox liste déroulante, soit manuellement via la collection retournée par la Items propriété, soit en la liant à une source de données via le DataSource, DisplayMemberet ValueMember les propriétés. Pour plus d’informations, consultez ComboBox Control.
Vous pouvez lier les valeurs de cellule réelles à la source de données utilisée par le DataGridView contrôle en définissant la DataPropertyName propriété du System.Windows.Forms.DataGridViewComboBoxColumn.
Les colonnes de zone de liste modifiable ne sont pas générées automatiquement lors de la liaison de données d’un DataGridView contrôle. Pour utiliser des colonnes de zone de liste modifiable, vous devez les créer manuellement et les ajouter à la collection retournée par la Columns propriété.
DataGridViewLinkColumn
Avec le DataGridViewLinkColumn, vous pouvez afficher une colonne de cellules qui contiennent des liens hypertexte. Cela est utile pour les valeurs d’URL dans la source de données ou comme alternative à la colonne de bouton pour des comportements spéciaux tels que l’ouverture d’une fenêtre avec des enregistrements enfants.
Les colonnes de liaison ne sont pas générées automatiquement lors de la liaison de données d’un DataGridView contrôle. Pour utiliser des colonnes de lien, vous devez les créer manuellement et les ajouter à la collection retournée par la Columns propriété.
Vous pouvez répondre aux clics utilisateur sur des liens en gérant l’événement CellContentClick . Cet événement est distinct des CellClick événements qui CellMouseClick se produisent lorsqu’un utilisateur clique n’importe où dans une cellule.
La DataGridViewLinkColumn classe fournit plusieurs propriétés pour modifier l’apparence des liens avant, pendant et après qu’elles soient cliquées.
Voir aussi
- DataGridView
- DataGridViewColumn
- DataGridViewButtonColumn
- DataGridViewCheckBoxColumn
- DataGridViewComboBoxColumn
- DataGridViewImageColumn
- DataGridViewTextBoxColumn
- DataGridViewLinkColumn
- DataGridView, contrôle
- Comment : afficher des images dans les cellules du contrôle DataGridView Windows Forms
- Guide pratique pour utiliser des colonnes de type image dans le contrôle DataGridView Windows Forms
- Personnalisation du contrôle DataGridView Windows Forms
.NET Desktop feedback
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour