如何綁定清單
綁定清單
考慮以下場景:
class Person{ public string Name {get; set;} public string Surname {get; set;} }
您可能有 List
List<Person> persons = new List<Person>(); persons.Add(new Person(){Name="Joe", Surname="Black"}); persons.Add(new Person(){Name="Misha", Surname="Kozlov"});
最初,這些項目將顯示在 DataGridView 中。但是,如果您向人員清單新增項目,DataGridView 將不會顯示它們。
問題
問題在於List 沒有實作IBindingList,這表示DataGridView 不會收到有關變更的通知
解決方案
要解決此問題,請使用BindingList
var list = new BindingList<Person>(persons); myGrid.DataSource = list;
使用 BindingSource 進行高級綁定
您可以使用 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;
透過遵循這些技術,您可以綁定列表
以上是如何動態更新綁定到清單的 WinForms DataGridView?的詳細內容。更多資訊請關注PHP中文網其他相關文章!