Обработчик OnGetvisited Count для события Click

b если вы запустите приложение

Обработчик OnGetvisitedCount Для события Click Кнопки отображает диалог, показывающий число отображавшихся строк, которое определяется по состоянию коллекции M Visited. Если вы запустите приложение VirtualMode, то заметите несколько моментов, о которых стоит упомянуть. Первый касается того, что самое большое влияние на время выполнения оказывает время загрузки и кэширования на стороне клиента большой коллекции данных. Вследствие этого в реальном приложении вы, возможно, захотите выполнять такого рода операцию в отдельном потоке, чтобы не блокировать UI во время загрузки данных. Для этого можно было бы воспользоваться компонентом BackgroundWorker. Если при работе с большими объемами данных пользователь перетаскивает кнопку прокрутки, большое число строк на самом деле пропускается механизмами навигации и из-за задержек самой полосы прокрутки. В результате вам придется предоставлять лишь малый процент действительных значений ячеек, если только пользователь не прокручивает сетку слишком интенсивно. Вот почему виртуальный режим хорош для вычисляемых значений: можно избежать вычисления значений для ячеек, которые отображаться не будут.

Если вы запустите пример и немного поупражняетесь с прокруткой, а затем щелкнете на кнопке Get Visited Count, то увидите, сколько строк было загружено на самом деле. Я, например, запустил это приложение и прокрутил сетку сверху донизу несколько раз, довольно медленно. Я наблюдал по видимости плавную прокрутку, как будто я действительно проходил по всем миллионам строк, представленным в сетке. Однако как оказалось, в процессе прокрутки отображено было всего около 1000 строк.

Как быть, если вы захотите поддерживать редактирование значений непосредственно в сетке? Может быть, вы применяете виртуальный режим только для того, чтобы представлять вычисляемый столбец с относительно небольшим набором данных, и собираетесь использовать отредактированное значение в этом столбце для выполнения каких-то других вычислений или сохранить это значение. Есть еще одно событие, CellValuePushed, Которое запускается по завершении редактирования ячейки в сетке виртуального режима.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *