DataGridViewComboBoxColumn очень медленный с большим количеством элементов - PullRequest
0 голосов
/ 28 сентября 2011

У меня есть DataGrid с несколькими столбцами. Одним из них является DataGridViewComboBoxColumn. У меня есть много элементов в этой колонке - более 1000 - и мне все они нужны. Таким образом, группировка не вариант - все элементы должны быть там, пользователи должны иметь возможность выбирать из всех. Проблема в том, что DataGridViewComboBoxColumn становится мучительно медленным, когда количество элементов составляет около 1000 и выше. Эта проблема хорошо известна Microsoft, она восходит к Visual Studio 2005: http://connect.microsoft.com/VisualStudio/feedback/details/117024/datagridviewcomboboxcolumn-responds-very-slow-compared-with-the-stand-alone-combobox-control.

Проблема все еще присутствует в Visual Studio 2010. Есть идеи, как решить эту проблему?

Можно ли частично заполнить DataGridViewComboBoxColumn данными? Я имею в виду (это была функциональность, полностью работающая в Access), когда вы нажимаете DataGridViewComboBoxColumn, отображаются некоторые элементы (скажем, 100 элементов). При переходе к последнему элементу загружаются другие (еще 100) и т. Д. Я не вижу другого варианта, чтобы DataGridViewComboBoxColumn работал быстрее? Проблема в том, как это реализовать? Кто-нибудь сталкивался с этой проблемой раньше?

Привет, Френки

1 Ответ

0 голосов
/ 28 сентября 2011

Я полагаю, вы используете Windows Forms?Если есть возможность переключения на WPF или, по крайней мере, размещения сетки данных WPF в приложении Windows Forms (с использованием ElementHost ).

WPF может использовать виртуализацию и позволяет использовать больше элементов без задержки (потому что он не смотрит на элементы, которые не отображаются, в значительной степени, как вы предложили).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...