WinForms, DataGridView, VirtualMode. Проблема с Unshared Row
От: drag79  
Дата: 19.04.12 02:24
Оценка:
Использую DataGridView в режиме VirtualMode. Возможны таблицы с большим количеством строк: 100 тысяч и более. Вполне нормальная ситуация и виртуальный режим с этим справляется... ПОЧТИ

Есть команды подсвечивания строк таблицы (Selected = true). При этом подсвечиваться могут сразу много строк, может и все (CTRL+A, например). В этих случаях на больших таблицах резко растет память и приложение надолго зависает. Например для 100 тысяч записей зависает на 15-20 секунд, а память растет больше чем на 0.5Гб.
Явно проблема в том, что строки таблицы переходят в режим Unshared и забивают собой память. Пробовал ставить разные режимы Selection (FullRowSelection, RowHeaderSelection) — ничего не помогает, проблема остается.
Работать с SharedRow можно, но только не при установке Selected = true (падает Exception).

Есть ли какие-либо варианты решения этой проблемы?
winforms datagridview virtualmode
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.