Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
10 / 10 / 4
Регистрация: 29.10.2010
Сообщений: 29
1

проблемы в DataGridView

27.11.2010, 16:26. Показов 1906. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Очень актуальная тема.
Столкнулся с проблемой в DataGridView.
Обновляю всё через Refresh() в отдельном бэкграунд потоке в бесконечном цикле с задержкой в 1000мс.
Программа активно изменяет данные в таблице (до сотни значений за секунду). Вручную ничего менять не нужно.
А проблема в том, что при любых настройках DataGridView, кроме Enabled=false, форма часто вешается наглухо, ещё и блокируя таблицу.
Enabled=false не нравится тем, что, во-первых, никакой гарантии, что и в таком виде не зависнет нет (даже есть косвенные подтверждения зависания при долгой работе и более активном изменении данных), а во-вторых, не все столбцы таблицы умещаются даже в форму на весь экран, а при Enabled=false, скролбар становится неактивным и больше половины столбцов таблицы просто визуально недоступны.
Кто сталкивался с этой проблемой? И какие мысли на тему победить?
 Комментарий модератора 
pop70, один вопрос - одна тема


Добавлено через 4 часа 30 минут
Может быть, дело в том, что DataSourсe задаю криво?
C#
1
2
3
4
5
6
        public Form1()
        {
            InitializeComponent();
            dataGridView1.DataSource = Class1.table;
 
        }
Может ли помочь назначение DataSource через BindingSource?
Что-то вроде
C#
1
2
3
            BindingSource bsource = new BindingSource();
            bsource.DataSource = Class1.table;
            dataGridView1.DataSource = bsource;
Или этот код - просто "лишние буквы".
Я просто плохо понимаю как это работает (совсем не понимаю).
Но зависания как-то надо победить.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.11.2010, 16:26
Ответы с готовыми решениями:

DataGridView проблемы с количеством строк
проблема в том что когда допустим сделаем мы датаггридвиву нашему 100000 строк,а потом напишем что...

Проблемы при выводе данных из БД в dataGridView
Всем доброго времени! Есть приложение по выводу информации данных из БД (MSSQL) в...

Проблемы с dataGridView: строки видны через одну
У меня возникла такая проблема в таблице dataGridView, есть несколько десяток строчек в ней, но...

Проблемы с инетом, не отправляется почта, проблемы со связью с другой организацией
Здравствуйте. Есть проблемка. Такая ситуация - Организация. Компьютеры подключены по локалке....

2
burning1ife
1462 / 1284 / 293
Регистрация: 21.09.2008
Сообщений: 3,438
Записей в блоге: 9
28.11.2010, 09:21 2
Цитата Сообщение от pop70 Посмотреть сообщение
в цикле с задержкой в 1000мс
может стоит увеличить задержку, допустим до мин
0
10 / 10 / 4
Регистрация: 29.10.2010
Сообщений: 29
28.11.2010, 12:17  [ТС] 3
Цитата Сообщение от kenny69 Посмотреть сообщение
может стоит увеличить задержку, допустим до мин
Зависания не из-за обновления(перерисовки) элемента происходят, а из-за динамичного обновления данных в таблице.
Похоже, просто нарушается порядок обработки событий изменения таблицы DataGriDView-ом.
Видимо, это "косяк" самого элемента управления.
Хорошо помогает привязка не к самой таблице, а к её копии, которая не изменяется, но, при обновлении отображения, приходится дёргать привязку к этой промежуточной таблице, что приводит к невозможности использования скроллбара и изменения ширины столбцов.
Увеличивать время между Refresh(), во-первых, бессмысленно, а во-вторых - это лишает смысла саму идею - динамически отслеживать быстроизменяющиеся данные.
0
28.11.2010, 12:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.11.2010, 12:17
Помогаю со студенческими работами здесь

Какое использовать события в datagridview, чтобы значения из combobox обновлялись в datagridview
Всем привет.Нужна помощь по следующему вопросу.В datagridview загружаются значения из двух разных...

Как перенести строки с совпадающей датой из одного datagridview во второй datagridview
Два datagridview, не привязанные к источникам данных. Один из них пустой, другой содержит столбцы,...

BindingSource. dataGridView. Как сделать независимый фильтр для двух dataGridView?
Из Access данные импортируются в dataGridView В качестве источника данных используется один и тот...

Нажав на значение (строку) из одного DataGridView поиск в другом DataGridView
Всем привет. Есть 2 DataGridView в одном только дата, а во втором дата и много других столбиков....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru