在尝试在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中找到新添加的项目。有人能帮助我理解我所缺少的东西吗?
答案 0 :(得分:1)
这里的问题是BindingSource和DataGridView无法自动识别List的更改。
相反,使用新的BindingList()。这个事件将被调用以通知BindingSource,然后是DataGridView,它已经添加了列表中的新项目。
var companies = new BindingList<Company>();
companies.Add(new Company { Name = "Test", Id = 100 });