Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Виртуальный список ListView / 8 сообщений из 8, страница 1 из 1
02.04.2007, 19:51
    #34432475
Виртуальный список ListView
В связке работает MS ACCESS с внешней СУБД, для вывода справочников используется ListView. Ориентировочно число записей может варьироваться от 10000 до полумиллиона, так что простой вывод всех записей в список не подходит ибо будут немеряные тормоза.

Слышал, что в ListView существует вариант работы как виртуального списка с динамической подгрузкой и кешированием.

Может кто знает как это реализовать виртуальный список ListView на VB?

Или хотябы в инете встречался с реализациями? Я искал, нашел только на Visual С++....
...
Рейтинг: 0 / 0
03.04.2007, 10:30
    #34433140
Бенедикт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Виртуальный список ListView
Сергей Маслов,
странно - вопрос составлен грамотно, а virtual listview VB6 набрать не смогли.

Если код будет выполняться в среде Access, то там есть некоторые свои особенности реализации subclassing-а.
...
Рейтинг: 0 / 0
03.04.2007, 12:13
    #34433630
Виртуальный список ListView
Бенедикт,
подходящих реализаций все же я так и не нашел, уж слишком все громоздко.

Поэтому решил просто загружать определенное количество записей из базы при движении по списку используя SELECT ... OFFSET ... LIMIT ...

С subclassing-ом я никогда не работал, но понял, что без него все равно не обойтись, потому что надо будет отслеживать события OnScroll.

Как хорошее пособие по subclassing-у думаю мне подойдет Ваш пример реализации разноцветного ListView, скачанный с этого же сайта Вопрос по ListView

Спасибо за помощь.
...
Рейтинг: 0 / 0
03.04.2007, 18:24
    #34435276
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Виртуальный список ListView
Бенедикт
пример с виртуальным ListView - супер
только две вещи

1 есть огнаничение кол-ва элементов так как Long

2 как это можно связать с базами данных
то есть есть recordset
И ДАННЫЕ НУЖНО ВНЕСТИ В ListView?
...
Рейтинг: 0 / 0
05.04.2007, 18:15
    #34441571
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Виртуальный список ListView
я сделал через recordset
только скрол стал очень медленно работать
можно ли как нибудь исправить
...
Рейтинг: 0 / 0
05.04.2007, 18:53
    #34441680
Lcrm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Виртуальный список ListView
Я бы посмотрел на пользователя этой программы, который будет искать нужный ему элемент среди 10000 возможных.
...
Рейтинг: 0 / 0
06.04.2007, 10:52
    #34442594
Бенедикт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Виртуальный список ListView
michael Rпример с виртуальным ListView - супер
Какой из? Или имеется ввиду пример с custom draw listview?

michael R1 есть огнаничение кол-ва элементов так как Long
Да. А то, что свойства recordset-а AbsolutePosition и RecordCount имеют тот же тип, не смущает?
У таких задач есть не только техническая сторона, но и сторона организации пользовательского интерфейса (usability). По моему, субъективному, конечно, мнению, нормальный человек не в состоянии эффективно работать с выборками длиной больше трёх-пяти печатных страниц, добросовестный мотивированный и т.д. профессионал, "монстр", короче, с выборками на порядок больше. Поэтому надо пускать в ход разные приёмы категоризации и фильтрации.

michael R2 как это можно связать с базами данных
то есть есть recordset
И ДАННЫЕ НУЖНО ВНЕСТИ В ListView?

я сделал через recordset
Ну, вот :)
Но, думается, за этим "есть" на самом деле стоит достаточно интересная группа задач. Например, можно открывать recordset и получать данные асинхронно.

michael Rтолько скрол стал очень медленно работать
можно ли как нибудь исправить
Взял первый попавшийся пример, найденный гуглем (ссылку давал), переделал на обращение к локальной базе, выборка ~70000 записей, 3 поля. Тормозов не вижу (blindingly fast, как и обещано). Но это локальный источник и VB6. Если проект на VBA, то тормоза возможны, если код не скомпилирован. Здесь могут помочь стандартные танцы - скомпилировать, сжать, открыть закрыть... Если тормоза из-за низкой скорости получения данных, то нужна какая-то схема кэширования.
...
Рейтинг: 0 / 0
06.04.2007, 11:43
    #34442852
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Виртуальный список ListView
Сергей Масловподходящих реализаций все же я так и не нашел, уж слишком все громоздко.

Маленький вопрос - а почему не Grid?
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Виртуальный список ListView / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]