我在WindowsForms应用程序中更新DataGridView
的DataSource
时遇到了问题。
我有一个DataGridView
,其中包含我的自定义类Skoleni
的List
数据。
private List<Skoleni> setrideneSkoleni; //list of objects
在MainForm()方法中,我调用以下内容:
bindingDwgSkoleni = new BindingSource(); //create bindingsource
bindingDwgSkoleni.DataSource = setrideneSkoleni; //set datasource for bindingsource
dgwSkoleni.DataSource = bindingDwgSkoleni; // set datasource for datagridview
为BindingSource
和DataGridView
设置DataSource
。
然后在另一个窗体中添加setrideneSkoleni
的项目,button_Click
方法包含以下内容:
setrideneSkoleni.Update(); // updates setrideneSkoleni
bindingDwgSkoleni.ResetBindings(false); //should update bindingSource, but DOES NOT
变量setrideneSkoleni
已更新(添加了项目),但BindingSource没有更新(在调试中检查 - 列表仍包含相同的项目)。
我不能简单地将DataGridView的DataSource设置为null,然后设置为新列表,因为这会破坏格式(隐藏列变为可见,排序被取消),我必须使用BindingSource来保持配置。
有人能给我建议如何解决这个问题吗?
谢谢
Skoleni
实现了INotifyProperty
吗? - Sebastian Xawery Wiśniowiecki