DataGridView не обновляется при изменении источника данных

1

У меня DataGridView и DataSource есть List. Когда я изменяю свойство элементов в этом списке в gridview, это показано ранее. Когда я нажимаю на строку, она меняет значения. Я обновляю список с BackgroundWorker. Как обновить DataGridView одновременно?

  • 0
    ObservableCollection вместо списка?
  • 0
    List <_Input> oldList; публичный класс _Input {публичная строка Title {get; установлен; } публичная строка Item {get; установлен; } public double Cost {get; установлен; } public double FixedPrice {get; установлен; } public double FloorPrice {get; установлен; } публичная строка Asin1 {get; установлен; } public bool Edited {get; установлен; }}
Показать ещё 3 комментария
Теги:
winforms
datagridview

2 ответа

0

измененная выдержка из msdn

private void RefreshGrid(object dataSource)
{
    yourGridName.Invoke((Action)delegate
    {
        var myCurrencyManager = (CurrencyManager)yourGridName.BindingContext[dataSource];
        myCurrencyManager.Refresh();
    });
}

Вызовите этот метод, когда ваш фоновый работник обновляет dataSource.

0

Вам необходимо будет использовать ObservableCollection в сочетании с INotifyPropertyChanged поскольку ObservableCollection уведомляет только о том, когда элементы добавляются или удаляются, но не при их изменении.

Класс ObservableCollection

Как прослушать изменения свойств элементов наблюдаемого набора

Существует еще один подобный вопрос о SO, который может вам помочь.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню