我有DataGridView,DataSource是List。当我在gridview中更改该List中的elements属性时,它显示在之前。当我点击行时,它会更改值。我正在使用BackgroundWorker更新列表。如何同时更新DataGridView?
答案 0 :(得分:0)
您必须使用ObservableCollection与INotifyPropertyChanged
结合使用,因为ObservableCollection仅在添加或删除项目时通知,但在更改项目时不通知。
How to Listen to Property Changes of Items of an ObservableCollection
在SO上还有一个类似的question可能会对您有所帮助。
答案 1 :(得分:0)
从msdn
中摘录的摘录private void RefreshGrid(object dataSource)
{
yourGridName.Invoke((Action)delegate
{
var myCurrencyManager = (CurrencyManager)yourGridName.BindingContext[dataSource];
myCurrencyManager.Refresh();
});
}
每当后台工作者更新dataSource时调用此方法。