powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как правильно обновить DataGridView из другого потока.
9 сообщений из 9, страница 1 из 1
Как правильно обновить DataGridView из другого потока.
    #39262473
sergiy_s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть ObservableCollection<> обновляемая из другого потока
Её надо сбиндить с DataGridView.
Я могу подписаться на событие CollectionChanged
и сделать что то подобное в основном потоке
Код: c#
1.
2.
3.
 _dataGridView.DataSource = null;
                _dataGridView.DataSource = _itemsSource;
                _dataGridView.Refresh();


было бы не плохо если бы изменилось все содержимое.
Но на практике идет чтение большой коллекции и добавляется очередная порция строк.
и нужно только сказать гриду--> добавь мол чуть строк.
Можно наверное доработать коллекцию что бы она наследовала еще и интерфейс IBindingSource.
Но как то ... слишком сложно.


Неужели нет какого ли бо стандартного решения?
...
Рейтинг: 0 / 0
Как правильно обновить DataGridView из другого потока.
    #39262491
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
sergiy_sбыло бы не плохо если бы изменилось все содержимое.
Так сделайте в начале _dataGridView.Rows.Clear()
...
Рейтинг: 0 / 0
Как правильно обновить DataGridView из другого потока.
    #39262536
sergiy_s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если надо обновить все содержимое, то это частный случай и для такого случая все удовлетворительно.
А вот если начитано несколько десятков тысяч строк и насчитывается еще одна строка которая возможно вне видимости.
Полное обновление DataSource в таком случае довольно дорогое удовольствие. (не говоря уш о том слетят выделенные строки)
...
Рейтинг: 0 / 0
Как правильно обновить DataGridView из другого потока.
    #39262539
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergiy_sА вот если начитано несколько десятков тысяч строкЗачем?
...
Рейтинг: 0 / 0
Как правильно обновить DataGridView из другого потока.
    #39262579
sergiy_s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какая разница зачем.
НУ ПУСТЬ БУДЕТ 20 СТРОК КОТОРЫЕ ПОМЕЩАЮТСЯ НА ЭКРАН.
...
Рейтинг: 0 / 0
Как правильно обновить DataGridView из другого потока.
    #39262580
sergiy_s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Зачем обновлять все строки когда можно дорисовать одну.
Вопрос как это сделать в WindowsForms.
В WPF показывается столько строк сколько в коллекции и если коллекция обновляется то обновляется и грид.
При чем перерисовываютсятся только нужные строки.
Неужели нельзя добиться такого же поведения для DataGridView.
...
Рейтинг: 0 / 0
Как правильно обновить DataGridView из другого потока.
    #39262592
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
sergiy_s,

Сделайте источником DataTable, добаляйте в неe DataRow и все будет так, как Вам хочется
...
Рейтинг: 0 / 0
Как правильно обновить DataGridView из другого потока.
    #39262605
sergiy_s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
то бишь вместо BindingSource использовать DataTable ?
...
Рейтинг: 0 / 0
Как правильно обновить DataGridView из другого потока.
    #39262634
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
sergiy_sто бишь вместо BindingSource использовать DataTable ?
Нет. DataTable через BindingSource
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как правильно обновить DataGridView из другого потока.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]