【发布时间】:2016-11-20 12:56:33
【问题描述】:
我有一个对象列表,我想每秒重新绑定 DataGridView。我尝试了很多东西,bindingsource、BindingList 和 INotifyPropertyChanged 接口。当您的代码中有静态集合时,它们工作得很好,但是我需要从数据库更新数据源,因此,我必须迭代每个对象并检查它是新对象还是已删除并更新 BindingList,但它是解决方案。我更喜欢每一秒都这样写:
BindingListObeject = new BindingList<MyObject>(ListOfMyObjects);
或
BindingListObeject.Clear();
//in loop
BindingListObeject.Add(new_object);
DataGridView 将具有滚动功能,并且在重新绑定数据源后必须选择选定的单元格。而且网格不应该闪烁。
我该如何管理?我使用 EF 来获取我想要的对象列表。
【问题讨论】:
-
您是否尝试过 Suspend/ResumeLayout 以避免闪烁?
-
是的,我试过了,仍然闪烁
标签: c# winforms bindingsource bindinglist