Comment lier une liste
Liaison d'une liste
Considérez le scénario suivant :
class Person{ public string Name {get; set;} public string Surname {get; set;} }
Vous pouvez avoir une liste
List<Person> persons = new List<Person>(); persons.Add(new Person(){Name="Joe", Surname="Black"}); persons.Add(new Person(){Name="Misha", Surname="Kozlov"});
Dans un premier temps, ces éléments seront affichés dans le DataGridView. Cependant, si vous ajoutez de nouveaux éléments à la liste des personnes, DataGridView ne les affichera pas.
Le problème
Le problème réside dans le fait que la liste n'implémente pas IBindingList, ce qui signifie que DataGridView ne reçoit pas de notifications concernant les modifications apportées au data.
Solution
Pour résoudre ce problème, utilisez une BindingList
var list = new BindingList<Person>(persons); myGrid.DataSource = list;
Liaison avancée avec BindingSource
Vous pouvez aller plus loin en utilisant un BindingSource, qui fournit des fonctionnalités supplémentaires telles que le tri , le filtrage et la concurrence.
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;
En suivant ces techniques, vous pouvez lier un Liste
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!