Architecture du contrôle DataGridView (Windows Forms)
Le DataGridView contrôle et ses classes associées sont conçus pour être un système flexible et extensible permettant d’afficher et de modifier des données tabulaires. Ces classes sont toutes contenues dans l’espace System.Windows.Forms de noms, et elles sont toutes nommées avec le préfixe « DataGridView ».
Éléments d'architecture
Les classes compagnons primaires DataGridView dérivent de DataGridViewElement. Le modèle objet suivant illustre la hiérarchie d’héritage DataGridViewElement .
La DataGridViewElement classe fournit une référence au contrôle parent DataGridView et a une State propriété, qui contient une valeur qui représente une combinaison de valeurs de l’énumération DataGridViewElementStates .
Les sections suivantes décrivent plus en détail les DataGridView classes compagnons.
DataGridViewElementStates
L’énumération DataGridViewElementStates contient les valeurs suivantes :
Les valeurs de cette énumération peuvent être combinées avec les opérateurs logiques au niveau du bit, afin que la State propriété puisse exprimer plusieurs états à la fois. Par exemple, un DataGridViewElement peut être simultanément Frozen, Selectedet Visible.
Cellules et bandes
Le DataGridView contrôle comprend deux types fondamentaux d’objets : les cellules et les bandes. Toutes les cellules dérivent de la DataGridViewCell classe de base. Les deux types de bandes etDataGridViewRow, DataGridViewColumn tous deux dérivent de la DataGridViewBand classe de base.
Le DataGridView contrôle interopére avec plusieurs classes, mais les plus couramment rencontrés sont DataGridViewCell, DataGridViewColumnet DataGridViewRow.
Datagridviewcell
La cellule est l’unité fondamentale d’interaction pour le DataGridView. L’affichage est centré sur les cellules et l’entrée de données est souvent effectuée par le biais de cellules. Vous pouvez accéder aux cellules à l’aide de la Cells collection de la DataGridViewRow classe, et vous pouvez accéder aux cellules sélectionnées à l’aide de la SelectedCells collection du DataGridView contrôle. Le modèle objet suivant illustre cette utilisation et montre la DataGridViewCell hiérarchie d’héritage.
Le DataGridViewCell type est une classe de base abstraite à partir de laquelle tous les types de cellules dérivent. DataGridViewCell et ses types dérivés ne sont pas des contrôles Windows Forms, mais certains contrôles Windows Forms hôtes. Toutes les fonctionnalités d’édition prises en charge par une cellule sont généralement gérées par un contrôle hébergé.
DataGridViewCell les objets ne contrôlent pas leurs propres caractéristiques d’apparence et de peinture de la même façon que les contrôles Windows Forms. Au lieu de cela, il DataGridView est responsable de l’apparence de ses DataGridViewCell objets. Vous pouvez affecter considérablement l’apparence et le comportement des cellules en interagissant avec les DataGridView propriétés et les événements du contrôle. Lorsque vous avez des exigences particulières pour les personnalisations qui dépassent les fonctionnalités du DataGridView contrôle, vous pouvez implémenter votre propre classe qui dérive de ou de DataGridViewCell l’une de ses classes enfants.
La liste suivante montre les classes dérivées de DataGridViewCell:
Vos types de cellules personnalisés
Datagridviewcolumn
Le schéma du DataGridView magasin de données attaché du contrôle est exprimé dans les DataGridView colonnes du contrôle. Vous pouvez accéder aux DataGridView colonnes du contrôle à l’aide de la Columns collection. Vous pouvez accéder aux colonnes sélectionnées à l’aide de la SelectedColumns collection. Le modèle objet suivant illustre cette utilisation et montre la DataGridViewColumn hiérarchie d’héritage.
Certains types de cellules clés ont des types de colonnes correspondants. Ceux-ci sont dérivés de la DataGridViewColumn classe de base.
La liste suivante montre les classes dérivées de DataGridViewColumn:
Vos types de colonnes personnalisés
Contrôles d’édition DataGridView
Les cellules qui prennent en charge les fonctionnalités d’édition avancées utilisent généralement un contrôle hébergé dérivé d’un contrôle Windows Forms. Ces contrôles implémentent également l’interface IDataGridViewEditingControl . Le modèle objet suivant illustre l’utilisation de ces contrôles.
Les contrôles d’édition suivants sont fournis avec le DataGridView contrôle :
Pour plus d’informations sur la création de vos propres contrôles d’édition, consultez How to : Host Controls in Windows Forms DataGridView Cells.
Le tableau suivant illustre la relation entre les types de cellules, les types de colonnes et les contrôles d’édition.
Datagridviewrow
La DataGridViewRow classe affiche les champs de données d’un enregistrement à partir du magasin de données auquel le DataGridView contrôle est attaché. Vous pouvez accéder aux DataGridView lignes du contrôle à l’aide de la Rows collection. Vous pouvez accéder aux lignes sélectionnées à l’aide de la SelectedRows collection. Le modèle objet suivant illustre cette utilisation et montre la DataGridViewRow hiérarchie d’héritage.
Vous pouvez dériver vos propres types de la DataGridViewRow classe, bien que cela ne soit généralement pas nécessaire. Le DataGridView contrôle a plusieurs événements et propriétés liés aux lignes pour personnaliser le comportement de ses DataGridViewRow objets.
Si vous activez la DataGridView propriété du AllowUserToAddRows contrôle, une ligne spéciale pour l’ajout de nouvelles lignes apparaît comme la dernière ligne. Cette ligne fait partie de la Rows collection, mais elle a des fonctionnalités spéciales qui peuvent nécessiter votre attention. Pour plus d’informations, consultez Utilisation de la ligne pour les nouveaux enregistrements dans le contrôle DataGridView Windows Forms.
Voir aussi
.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