绑定 BindingList
在这个 WinForm 场景中,代表一个人的类和一个 List
理解 Binding
问题的根源在于 List 没有实现 IBindingList。因此,DataGridView 不知道对列表所做的任何更改。
解决方案:BindingList
要解决此问题,请考虑将 DataGridView 绑定到 BindingList
var list = new BindingList<Person>(persons); myGrid.DataSource = list;
;T>反而。此类实现 IBindingList,允许 DataGridView 接收绑定列表中更改的通知。
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;
更好地控制数据绑定时,请考虑使用 BindingSource 作为 BindingList
以上是为什么将项目添加到列表后我的 WinForms DataGridView 不更新?的详细内容。更多信息请关注PHP中文网其他相关文章!