在WindowsForms应用程序中更新DataGridView的DataSource时遇到问题。
我在我自己的类Skoleni的List中用数据填充了DataGridView。
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。
然后我以附加的形式将item添加到setrideneSkoleni,button_Click方法包含以下内容:
setrideneSkoleni.Update(); // updates setrideneSkoleni
bindingDwgSkoleni.ResetBindings(false); //should update bindingSource, but DOES NOT更新变量setrideneSkoleni (添加了项),但不更新BindingSource (在调试列表中签入时仍包含相同的项)。
我不能简单地将DataGridView的DataSource设置为null,然后设置为新列表,因为它会破坏格式(隐藏列变得可见,排序被取消),我必须使用BindingSource来保留配置。
有人能建议我怎么解决这个问题吗?
谢谢
发布于 2016-07-31 22:45:37
将您的List更改为BindableList。在Skoleni类上实现INotifyProperty。
https://stackoverflow.com/questions/22543963
复制相似问题