Использование VirtualMode в DataGridView, когда число строк / столбцов неизвестно - PullRequest
2 голосов
/ 16 мая 2010

Мне нужно эффективно отобразить последовательность словарей с неизвестными ключами с неизвестными ключами в сетке данных. Эта последовательность является результатом потенциально медленного запроса LINQ, который может содержать любое количество результатов.

Сначала я подумал, что VirtualMode on DataGridView - это то, что я искал, но похоже, что количество строк и столбцов должно быть известно заранее. Я попытался добавить одну строку и столбец, а затем добавить по мере необходимости из события CellValueNeeded , но это не работает.

Возможно ли это даже с VirtualMode? Или мне нужно оценить, сколько строк видно на экране, и вручную построить строки / столбцы? И если да, то как мне обеспечить наличие вертикальной полосы прокрутки и правильно реагировать, когда пользователь ее использует?

1 Ответ

0 голосов
/ 28 апреля 2011

Вы можете просто иметь коллекцию IBindingList, которая будет уведомлять сетку об обновлении при добавлении строк. Таким образом, вы запрашиваете с помощью LINQ и заполняете эту коллекцию, которая может быть любым числом «N». Во время начальной загрузки может быть задано несколько фиксированных строк в коллекции в качестве начального набора записей, скажем, 1000, а затем продолжать добавление строк в коллекцию при повторении запроса LINQ.

-Fahad

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