Modes d'affichage des données dans le contrôle DataGridView Windows Forms

Le DataGridView contrôle peut afficher des données en trois modes distincts : lié, indépendant et virtuel. Choisissez le mode le plus approprié en fonction de vos besoins.

Non lié

Le mode indépendant convient pour afficher des quantités relativement petites de données que vous gérez par programme. Vous n’attachez pas le DataGridView contrôle directement à une source de données comme en mode lié. Au lieu de cela, vous devez remplir le contrôle vous-même, généralement à l’aide de la DataGridViewRowCollection.Add méthode.

Le mode indépendant peut être particulièrement utile pour les données statiques, en lecture seule ou lorsque vous souhaitez fournir votre propre code qui interagit avec un magasin de données externe. Toutefois, lorsque vous souhaitez que vos utilisateurs interagissent avec une source de données externe, vous utiliserez généralement le mode lié.

Pour obtenir un exemple qui utilise un trafic entrant DataGridViewen lecture seule, consultez Comment : créer un contrôle DataGridView Windows Forms indépendant.

Limite

Le mode lié est adapté à la gestion des données à l’aide d’une interaction automatique avec le magasin de données. Vous pouvez attacher le DataGridView contrôle directement à sa source de données en définissant la DataSource propriété. Lorsque le contrôle est lié aux données, les lignes de données sont envoyées (push) et extraites sans avoir besoin d’une gestion explicite de votre part. Lorsque la AutoGenerateColumns propriété est true, chaque colonne de votre source de données entraîne la création d’une colonne correspondante dans le contrôle. Si vous préférez créer vos propres colonnes, vous pouvez définir cette propriété false et l’utiliser DataPropertyName pour lier chaque colonne lorsque vous la configurez. Cela est utile lorsque vous souhaitez utiliser un type de colonne autre que les types générés par défaut. Pour plus d’informations, consultez Types de colonnes dans le contrôle DataGridView Windows Forms.

Pour obtenir un exemple qui utilise un contrôle lié DataGridView , 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 DataGridView contrôle en mode lié. Cela est utile lorsque vous souhaitez afficher une colonne de boutons ou de liens qui permettent aux utilisateurs d’effectuer des actions sur des lignes spécifiques. Il est également utile d’afficher des colonnes avec des valeurs calculées à partir de colonnes liées. Vous pouvez remplir les valeurs de cellule pour les colonnes calculées dans un gestionnaire pour l’événement CellFormatting . Si vous utilisez une DataSet ou DataTable comme source de données, toutefois, vous souhaiterez peut-être utiliser la propriété pour créer une colonne calculée à la DataColumn.Expression place. Dans ce cas, le DataGridView contrôle traite la colonne calculée comme n’importe quelle autre colonne de la source de données.

Le tri par colonnes non liées en mode lié n’est pas pris en charge. Si vous créez une colonne indépendante en mode lié qui contient des valeurs modifiables par l’utilisateur, vous devez implémenter le mode virtuel pour conserver ces valeurs lorsque le contrôle est trié par une colonne liée.

Virtual

Avec le mode virtuel, vous pouvez implémenter vos propres opérations de gestion des données. Cela est nécessaire pour conserver les valeurs des colonnes non liées en mode lié lorsque le contrôle est trié par colonnes liées. Toutefois, l’utilisation principale du mode virtuel consiste à optimiser les performances lors de l’interaction avec de grandes quantités de données.

Vous attachez le DataGridView contrôle à un cache que vous gérez et vos contrôles de code lorsque les lignes de données sont envoyées et extraites. Pour limiter l’encombrement mémoire, le cache doit être de taille similaire au nombre de lignes actuellement affichées. Lorsque l’utilisateur fait défiler de nouvelles lignes en mode affichage, votre code demande de nouvelles données à partir du cache et vide éventuellement les anciennes données de la mémoire.

Lorsque vous implémentez le mode virtuel, vous devez suivre quand une nouvelle ligne est nécessaire dans le modèle de données et quand restaurer l’ajout de la nouvelle ligne. L’implémentation exacte de cette fonctionnalité dépend de l’implémentation du modèle de données et de la sémantique des transactions du modèle de données ; indique si l’étendue de validation est au niveau de la cellule ou de la ligne.

Pour plus d’informations sur le mode virtuel, consultez Le mode virtuel dans le contrôle DataGridView Windows Forms. Pour obtenir un exemple montrant comment utiliser des événements en mode virtuel, consultez Procédure pas à pas : implémentation du mode virtuel dans le contrôle DataGridView Windows Forms.

Voir aussi