DataGridView не обновляется при изменении коллекции - PullRequest
0 голосов
/ 10 июня 2011

В моем приложении у меня есть DataGridView, связанный с BindingList, объект наследует INotifyPropertyChanged, чтобы сообщить об изменении, тот же поток.

Проблема в том, что DataGridView не обновляет пользовательский интерфейс, при выборе строки значения в строке обновляются, поэтому я попытался использовать DataGridView.Refresh () в конце, который работал, теперь все значения обновляются в DataGridView. UI.

Но сам процесс выполняется долго, он загружается из Интернета, поэтому мне нужно показывать значения по мере их обновления.

Пожалуйста, предложите.

public class Proxy : INotifyPropertyChanged
    {
        public string IPAddress
        {
            get
            {
                return ipaddress;
            }
            set
            {
                ipaddress = value;
                OnPropertyChanged("IPAddress");
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;
        protected void OnPropertyChanged(string name)
        {
            PropertyChangedEventHandler handler = PropertyChanged;
            if (handler != null)
            {
                handler(this, new PropertyChangedEventArgs(name));
            }
        }
}

SortableSearchableList<Proxy> proxyList = new SortableSearchableList<Proxy>();
proxydatagrid.DataSource = proxyList;

Я ХОЧУ ОБНОВИТЬ ОБЗОР ДАННЫХ, ПОСЛЕ ТОГО, КАК КОЛЛЕКЦИЯ ИЗМЕНЕНА, А НЕ ПОЗЖЕ.

Ответы [ 2 ]

0 голосов
/ 10 июня 2011

Я думаю, что вы хотите позвонить DataGrid.Items.Refresh(), чтобы обновить элементы, а не DataGridView.Refresh()

0 голосов
/ 10 июня 2011

Вы должны написать построчное обновление.

Вам нужно запустить тему, сообщить вашему приложению, какую строку обновлять. Если все сделано правильно, каждая строка должна обновляться одна за другой.

Другой вариант - сохранить результаты в другом наборе данных или наборе данных, и после завершения операции вы заменяете таблицу данных вашей таблицы новой.

...