0

在我尝试在 Winforms 中使用 DataBinding 的过程中,我遇到了一个问题。看起来更新 DataSource DataGridView 后不会刷新数据。不明白哪里出了问题。

var companies = new List<Company> { new Company { Name = "Test", Id = 100 }}

这是将项目列表绑定到 DataGridView 的代码:

bindingSource1.DataSource = _context.Companies;
dataGridView1.DataSource = bindingSource1.DataSource;

但在那之后,如果我companies像这样更新列表

 companies.Add(new Company { Name = "MDG", Id = 500 });

我在 DataGridView 中找不到新添加的项目。有人可以帮助我了解我所缺少的吗?

4

1 回答 1

1

这里的问题是无法让 BindingSource 和 DataGridView 自动知道对 List 的更改。

相反,使用新的 BindingList()。这具有将被调用以通知 BindingSource 的事件,进而通知 DataGridView 已将新项目添加到列表中。

var companies = new BindingList<Company>();
companies.Add(new Company { Name = "Test", Id = 100 });
于 2012-11-19T01:51:55.803 回答