10 / 10 / 4
Регистрация: 29.10.2010
Сообщений: 29
|
|||||||||||||||||
1 | |||||||||||||||||
проблемы в DataGridView27.11.2010, 16:26. Показов 1906. Ответов 2
Метки нет (Все метки)
Очень актуальная тема.
Столкнулся с проблемой в DataGridView. Обновляю всё через Refresh() в отдельном бэкграунд потоке в бесконечном цикле с задержкой в 1000мс. Программа активно изменяет данные в таблице (до сотни значений за секунду). Вручную ничего менять не нужно. А проблема в том, что при любых настройках DataGridView, кроме Enabled=false, форма часто вешается наглухо, ещё и блокируя таблицу. Enabled=false не нравится тем, что, во-первых, никакой гарантии, что и в таком виде не зависнет нет (даже есть косвенные подтверждения зависания при долгой работе и более активном изменении данных), а во-вторых, не все столбцы таблицы умещаются даже в форму на весь экран, а при Enabled=false, скролбар становится неактивным и больше половины столбцов таблицы просто визуально недоступны. Кто сталкивался с этой проблемой? И какие мысли на тему победить?
Добавлено через 4 часа 30 минут Может быть, дело в том, что DataSourсe задаю криво?
Что-то вроде
Я просто плохо понимаю как это работает (совсем не понимаю). Но зависания как-то надо победить.
0
|
27.11.2010, 16:26 | |
Ответы с готовыми решениями:
2
DataGridView проблемы с количеством строк Проблемы при выводе данных из БД в dataGridView Проблемы с dataGridView: строки видны через одну Проблемы с инетом, не отправляется почта, проблемы со связью с другой организацией |
10 / 10 / 4
Регистрация: 29.10.2010
Сообщений: 29
|
|
28.11.2010, 12:17 [ТС] | 3 |
Зависания не из-за обновления(перерисовки) элемента происходят, а из-за динамичного обновления данных в таблице.
Похоже, просто нарушается порядок обработки событий изменения таблицы DataGriDView-ом. Видимо, это "косяк" самого элемента управления. Хорошо помогает привязка не к самой таблице, а к её копии, которая не изменяется, но, при обновлении отображения, приходится дёргать привязку к этой промежуточной таблице, что приводит к невозможности использования скроллбара и изменения ширины столбцов. Увеличивать время между Refresh(), во-первых, бессмысленно, а во-вторых - это лишает смысла саму идею - динамически отслеживать быстроизменяющиеся данные.
0
|
28.11.2010, 12:17 | |
28.11.2010, 12:17 | |
Помогаю со студенческими работами здесь
3
Какое использовать события в datagridview, чтобы значения из combobox обновлялись в datagridview Как перенести строки с совпадающей датой из одного datagridview во второй datagridview BindingSource. dataGridView. Как сделать независимый фильтр для двух dataGridView? Нажав на значение (строку) из одного DataGridView поиск в другом DataGridView Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |