Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.10.2012, 21:49   #1
vovik93
Пользователь
 
Регистрация: 12.03.2010
Сообщений: 47
По умолчанию Зависание программы при заполнении DataGridView

Есть программа которая при старте выводит данные с XML файла в Grid,
а потом раз в X секунд, снова считует данные и снова их выводит, и во время этого программа на несколько секунд зависает, так как строчек
где то 10000, а ячеек 22.
Подскажите как можно решить эту проблему.
vovik93 вне форума Ответить с цитированием
Старый 11.10.2012, 22:01   #2
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Выполнять работу в другом потоке. При обращении к гриду синхронизироваться с основным потоком. Если используете WPF, то поможет асинхронный биндинг
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 11.10.2012, 22:11   #3
vovik93
Пользователь
 
Регистрация: 12.03.2010
Сообщений: 47
По умолчанию

Цитата:
Сообщение от Luuzuk Посмотреть сообщение
Выполнять работу в другом потоке. При обращении к гриду синхронизироваться с основным потоком. Если используете WPF, то поможет асинхронный биндинг
Пробовал в другом потоке, не помогло так как чтение с XML не занимает
никакого времени, время занимает сама запись в грид, а так как грид
в главном потоке то все равно все зависает пока не заполнится.
vovik93 вне форума Ответить с цитированием
Старый 11.10.2012, 22:34   #4
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
так как строчек где то 10000, а ячеек 22.
И кому надо столько строчек сразу? о_О
eval вне форума Ответить с цитированием
Старый 11.10.2012, 22:36   #5
vovik93
Пользователь
 
Регистрация: 12.03.2010
Сообщений: 47
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
И кому надо столько строчек сразу? о_О
Это я написал максимальное число мне просто надо чтоб с ним работало, но может будет меньше.

Последний раз редактировалось vovik93; 11.10.2012 в 23:46.
vovik93 вне форума Ответить с цитированием
Старый 11.10.2012, 22:52   #6
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Виртуализация грида включена?
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 11.10.2012, 23:45   #7
vovik93
Пользователь
 
Регистрация: 12.03.2010
Сообщений: 47
По умолчанию

Цитата:
Сообщение от Luuzuk Посмотреть сообщение
Виртуализация грида включена?
Если вы имеете ввиду VirtualMode, то есть проблема я использую сторонний
компонент treeGridView он основан на dataGridView(так как мне нужно дерево с колонками), а там он не поддерживается. Есть еще какие то варианты?
vovik93 вне форума Ответить с цитированием
Старый 12.10.2012, 00:11   #8
Reskov
Форумчанин
 
Аватар для Reskov
 
Регистрация: 17.12.2008
Сообщений: 250
По умолчанию

можно попробовать http://stackoverflow.com/a/778133/1027110... можно отрисовать только верхние элементы дерева и по мере нажимания на плюс подгружать и отрисовывать дочерние элементы...
Ps а вообще чтобы работать с компонентом нужно хорошо его изучить... посмотрите исходный код если он есть... может проблема в самом компоненте

Последний раз редактировалось Reskov; 12.10.2012 в 00:14.
Reskov вне форума Ответить с цитированием
Старый 12.10.2012, 07:56   #9
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Цитата:
treeGridView он основан на dataGridView(так как мне нужно дерево с колонками), а там он не поддерживается
Я бы порекомендовал отказаться от использования этого компонента. 10к строк без виртуализации - весьма серьёзная нагрузка на комп, и тормоза, скорее всего, будут ощущаться постоянно
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Зависание при выполнении программы Танкист Общие вопросы Delphi 17 21.03.2012 19:00
Зависание программы при выполнении цикла Кирилл Дегтярёв Помощь студентам 4 22.01.2011 17:28
Зависание программы при отсутствии подключения dolphin705 Работа с сетью в Delphi 0 17.01.2011 02:05
Зависание программы при выходе codermoder Работа с сетью в Delphi 6 18.12.2010 23:16
Зависание программы при выполнении GET запроса iHikita Общие вопросы .NET 1 16.07.2010 00:20