Modes d'affichage des données dans le contrôle DataGridView Windows Forms
Mise à jour : novembre 2007
Le contrôle DataGridView peut afficher des données en trois modes distincts : dépendant, indépendant et virtuel. Choisissez le mode le plus approprié selon votre configuration requise.
Indépendant
Le mode indépendant convient pour afficher de petites quantités des données que vous gérez par programme. Vous n'attachez pas directement le contrôle DataGridView à une source de données comme en mode dépendant. À la place, vous devez remplir le contrôle vous-même, généralement en utilisant la méthode DataGridViewRowCollection.Add.
Le mode indépendant peut être particulièrement utile pour les données statiques en lecture seule, ou lorsque vous souhaitez fournir votre code qui interagit avec un magasin de données externe. Lorsque vous voulez que vos utilisateurs puissent interagir avec une source de données externe, toutefois, vous utiliserez en général le mode dépendant.
Pour obtenir un exemple qui utilise un DataGridView indépendant en lecture seule, consultez Comment : créer un contrôle DataGridView Windows Forms indépendant.
Dépendant
Le mode Dépendant convient pour gérer des données qui utilisent une interaction automatique avec le magasin de données. Vous pouvez attacher directement le contrôle DataGridView à sa source de données en définissant la propriété DataSource. Lorsque le contrôle est lié aux données, les lignes de données sont envoyées et extraites sans nécessiter une gestion explicite de votre part. Lorsque la propriété AutoGenerateColumns est true, chaque colonne dans votre source de données fera en sorte qu'une colonne correspondante soit créée dans le contrôle. Si vous préférez créer vos propres colonnes, vous pouvez attribuer à cette propriété la valeur false et utiliser la propriété DataPropertyName pour lier chaque colonne lorsque vous le configurez. C'est utile lorsque vous souhaitez utiliser un type de colonne autre que les types qui sont générés par défaut. Pour plus d'informations, consultez Types de colonnes dans le contrôle DataGridView Windows Forms.
Pour un obtenir exemple qui utilise un contrôle DataGridView dépendant, consultez Procédure pas à pas : validation des données dans le contrôle DataGridView Windows Forms.
Vous pouvez également ajouter des colonnes indépendantes à un contrôle DataGridView en mode dépendant. C'est utile lorsque vous souhaitez afficher une colonne de boutons ou de liens qui permettent aux utilisateurs d'exécuter des actions sur des lignes spécifiques. Ceci est également utile pour afficher des colonnes avec des valeurs calculées provenant de colonnes dépendantes. Vous pouvez remplir les valeurs de cellules pour les colonnes calculées dans un gestionnaire pour l'événement CellFormatting. Si, toutefois, vous utilisez un DataSet ou DataTable comme source de données, vous pouvez le cas échéant souhaiter utiliser la propriété DataColumn.Expression pour créer à la place une colonne calculée. Dans ce cas, le contrôle DataGridView traitera juste la colonne calculée comme n'importe quelle autre colonne dans la source de données.
Le tri par colonnes indépendantes en mode dépendant n'est pas pris en charge. Si vous créez, en mode dépendant, une colonne indépendante qui contient des valeurs utilisateur modifiables, vous devez implémenter le mode virtuel pour maintenir ces valeurs lorsque le contrôle est trié par une colonne dépendante.
Virtuel
Avec le mode virtuel, vous pouvez implémenter vos propres opérations de gestion de données. Ceci est nécessaire pour maintenir les valeurs de colonnes indépendantes en mode dépendant lorsque le contrôle est trié par colonnes dépendantes. Toutefois, l'utilisation principale du mode virtuel est d'optimiser la performance lors de l'interaction avec de grandes quantités de données.
Vous attachez le contrôle DataGridView à un cache que vous gérez, et votre code contrôle quand les lignes de données sont envoyées et extraites. Pour que l'encombrement mémoire reste réduit, le cache doit être similaire en taille au nombre de lignes affiché actuellement. Lorsque l'utilisateur fait défiler de nouvelles lignes dans l'affichage, votre code demande de nouvelles données du cache et vide éventuellement les anciennes données de la mémoire.
Lorsque vous implémentez le mode virtuel, vous devrez déterminer quand une nouvelle ligne est exigée dans le modèle de données et quand annuler l'ajout de la nouvelle ligne. L'implémentation exacte de ces fonctionnalités dépendra de l'implémentation du modèle de données et de la sémantique de transaction du modèle de données ; selon que la portée de validation se situe au niveau de la cellule ou de la ligne.
Pour plus d'informations sur le mode virtuel, consultez Mode virtuel dans le contrôle DataGridView Windows Forms. Pour obtenir un exemple qui indique comment utiliser des événements de mode virtuel, consultez Procédure pas à pas : implémentation du mode virtuel dans le contrôle DataGridView Windows Forms.
Voir aussi
Tâches
Procédure pas à pas : création d'un contrôle DataGridView Windows Forms non lié
Comment : lier des données au contrôle DataGridView Windows Forms
Procédure pas à pas : implémentation du mode virtuel dans le contrôle DataGridView Windows Forms
Concepts
Types de colonnes dans le contrôle DataGridView Windows Forms
Mode virtuel dans le contrôle DataGridView Windows Forms
Référence
DataGridViewColumn.DataPropertyName
Autres ressources
Affichage des données dans le contrôle DataGridView Windows Forms