ResetBindings()不会更新BindingSource

Zby*_*nek 5 c# bindingsource winforms

我有问题的更新DataSourceDataGridView在WindowsForms应用程序.

我已经DataGridView填充了List我自己班级的数据Skoleni.

private List<Skoleni> setrideneSkoleni; //list of objects
Run Code Online (Sandbox Code Playgroud)

在MainForm()方法中,我调用以下内容:

 bindingDwgSkoleni = new BindingSource(); //create bindingsource
 bindingDwgSkoleni.DataSource = setrideneSkoleni; //set datasource for bindingsource
 dgwSkoleni.DataSource = bindingDwgSkoleni; // set datasource for datagridview
Run Code Online (Sandbox Code Playgroud)

哪个DataSource适用于BindingSourceDataGridView.

然后我以setrideneSkoleni另外的形式添加项目,button_Click方法包含:

setrideneSkoleni.Update(); // updates setrideneSkoleni
bindingDwgSkoleni.ResetBindings(false); //should update bindingSource, but DOES NOT
Run Code Online (Sandbox Code Playgroud)

变量setrideneSkoleni已更新(项目已添加),但BindingSource未更新(在调试中检查 - 列表仍包含相同的项目).

我不能简单地将DataGridView的DataSource设置为null而不是新列表,因为它会破坏格式化(隐藏列变得可见,排序被取消),我必须使用BindingSource来保持配置.

任何人都可以建议我如何解决这个问题?

谢谢

use*_*444 0

将您的更改ListBindableList. 落实到课堂INotifyPropertySkoleni