Как извлечь или загрузить большой массив в просмотр списка? - PullRequest
2 голосов
/ 06 января 2012

У меня есть массив из 50 тыс. Предметов. Я хочу загрузить все элементы в свой элемент управления списком как можно быстрее. Использование цикла не является решением, так как цикл очень медленный.

Ответы [ 2 ]

3 голосов
/ 06 января 2012

Базовый элемент управления ListView имеет виртуальный режим, который означает, что ваше приложение только передает счет в элемент управления, а затем периодически перезванивает, чтобы получить информацию о видимых записях.К сожалению, эта функциональность не предоставляется общими элементами управления VB6, но вы все равно можете использовать базовый элемент управления.

См. Этот пример vbVision .

2 голосов
/ 06 января 2012

Насколько я знаю, нет возможности загружать навалом, но есть и другие приемы, чтобы сделать это немного быстрее.Одним из них является предотвращение обновления (перекрашивания) элемента управления во время загрузки.Это можно сделать так же просто, как и скрыть его во время загрузки.Другой метод заключается в том, чтобы загрузить часть записей заранее (скажем, 2 КБ), а затем использовать таймер для загрузки остальных фрагментов в фоновом режиме.

Но, честно говоря, я сомневаюсь в полезности сетки с отображаемыми элементами по 50 КБ.,Это слишком много данных, чтобы представить их пользователю за один проход.Рассматривали ли вы рефакторинг своего пользовательского интерфейса, чтобы ограничить объем данных, которые пользователь должен просеять за один раз.

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