在WinForms中更新BindingSource

时间:2012-11-18 21:18:55

标签: winforms data-binding datasource bindingsource

在尝试在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中找到新添加的项目。有人能帮助我理解我所缺少的东西吗?

1 个答案:

答案 0 :(得分:1)

这里的问题是BindingSource和DataGridView无法自动识别List的更改。

相反,使用新的BindingList()。这个事件将被调用以通知BindingSource,然后是DataGridView,它已经添加了列表中的新项目。

var companies = new BindingList<Company>();
companies.Add(new Company { Name = "Test", Id = 100 });