|
Как правильно обновить DataGridView из другого потока.
|
|||
---|---|---|---|
#18+
Есть ObservableCollection<> обновляемая из другого потока Её надо сбиндить с DataGridView. Я могу подписаться на событие CollectionChanged и сделать что то подобное в основном потоке Код: c# 1. 2. 3.
было бы не плохо если бы изменилось все содержимое. Но на практике идет чтение большой коллекции и добавляется очередная порция строк. и нужно только сказать гриду--> добавь мол чуть строк. Можно наверное доработать коллекцию что бы она наследовала еще и интерфейс IBindingSource. Но как то ... слишком сложно. Неужели нет какого ли бо стандартного решения? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2016, 06:56 |
|
Как правильно обновить DataGridView из другого потока.
|
|||
---|---|---|---|
#18+
sergiy_sбыло бы не плохо если бы изменилось все содержимое. Так сделайте в начале _dataGridView.Rows.Clear() ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2016, 10:09 |
|
Как правильно обновить DataGridView из другого потока.
|
|||
---|---|---|---|
#18+
Если надо обновить все содержимое, то это частный случай и для такого случая все удовлетворительно. А вот если начитано несколько десятков тысяч строк и насчитывается еще одна строка которая возможно вне видимости. Полное обновление DataSource в таком случае довольно дорогое удовольствие. (не говоря уш о том слетят выделенные строки) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2016, 15:21 |
|
Как правильно обновить DataGridView из другого потока.
|
|||
---|---|---|---|
#18+
sergiy_sА вот если начитано несколько десятков тысяч строкЗачем? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2016, 15:38 |
|
Как правильно обновить DataGridView из другого потока.
|
|||
---|---|---|---|
#18+
Какая разница зачем. НУ ПУСТЬ БУДЕТ 20 СТРОК КОТОРЫЕ ПОМЕЩАЮТСЯ НА ЭКРАН. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2016, 17:30 |
|
Как правильно обновить DataGridView из другого потока.
|
|||
---|---|---|---|
#18+
Зачем обновлять все строки когда можно дорисовать одну. Вопрос как это сделать в WindowsForms. В WPF показывается столько строк сколько в коллекции и если коллекция обновляется то обновляется и грид. При чем перерисовываютсятся только нужные строки. Неужели нельзя добиться такого же поведения для DataGridView. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2016, 17:36 |
|
Как правильно обновить DataGridView из другого потока.
|
|||
---|---|---|---|
#18+
sergiy_s, Сделайте источником DataTable, добаляйте в неe DataRow и все будет так, как Вам хочется ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2016, 18:19 |
|
Как правильно обновить DataGridView из другого потока.
|
|||
---|---|---|---|
#18+
то бишь вместо BindingSource использовать DataTable ? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2016, 20:05 |
|
|
start [/forum/topic.php?fid=20&fpage=59&tid=1400499]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 247ms |
total: | 371ms |
0 / 0 |