Maison > développement back-end > C++ > Comment garder un DataGridView à jour lors de la liaison à une liste dynamique ?

Comment garder un DataGridView à jour lors de la liaison à une liste dynamique ?

Patricia Arquette
Libérer: 2025-01-04 16:10:44
original
554 Les gens l'ont consulté

How to Keep a DataGridView Updated When Binding to a Dynamic List?

Comment afficher une liste de liaisons mise à jour dynamiquement dans DataGridView

Introduction

Liaison d'une liste< T> vers un DataGridView peut être un moyen pratique d’afficher des données dynamiques. Cependant, la mise à jour de la liste peut ne pas toujours refléter les modifications apportées à DataGridView sans liaison explicite.

Problème

Considérez un scénario avec une liste contenant deux éléments ("Joe Black" et "Misha Kozlov"). Lorsqu'ils sont liés au DataGridView, ces éléments sont affichés. Cependant, l'ajout de nouveaux éléments à la liste ne met pas à jour le contenu de la grille.

Solution

Utilisation d'une BindingList

Le DataGridView ne maintient pas de connexion directe à une liste. Utilisez plutôt une BindingList, qui implémente IBindingList et informe la grille des modifications.

var list = new BindingList<Person>(persons);
myGrid.DataSource = list;
Copier après la connexion

Utilisation d'une BindingSource

Pour un contrôle plus granulaire, envisagez d'utiliser a BindingSource :

var list = new List<Person>()
{
    new Person { Name = "Joe" },
    new Person { Name = "Misha" },
};
var bindingList = new BindingList<Person>(list);
var source = new BindingSource(bindingList, null);
grid.DataSource = source;
Copier après la connexion

Le BindingSource offre une flexibilité pour les données manipulation et liaison de plusieurs sources de données. Les modifications apportées aux données sous-jacentes sont propagées à la grille sans liaison explicite.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal