
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
02.04.2007, 19:51
|
|||
|---|---|---|---|
|
|||
Виртуальный список ListView |
|||
|
#18+
В связке работает MS ACCESS с внешней СУБД, для вывода справочников используется ListView. Ориентировочно число записей может варьироваться от 10000 до полумиллиона, так что простой вывод всех записей в список не подходит ибо будут немеряные тормоза. Слышал, что в ListView существует вариант работы как виртуального списка с динамической подгрузкой и кешированием. Может кто знает как это реализовать виртуальный список ListView на VB? Или хотябы в инете встречался с реализациями? Я искал, нашел только на Visual С++.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.04.2007, 10:30
|
|||
|---|---|---|---|
Виртуальный список ListView |
|||
|
#18+
Сергей Маслов, странно - вопрос составлен грамотно, а virtual listview VB6 набрать не смогли. Если код будет выполняться в среде Access, то там есть некоторые свои особенности реализации subclassing-а. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.04.2007, 12:13
|
|||
|---|---|---|---|
|
|||
Виртуальный список ListView |
|||
|
#18+
Бенедикт, подходящих реализаций все же я так и не нашел, уж слишком все громоздко. Поэтому решил просто загружать определенное количество записей из базы при движении по списку используя SELECT ... OFFSET ... LIMIT ... С subclassing-ом я никогда не работал, но понял, что без него все равно не обойтись, потому что надо будет отслеживать события OnScroll. Как хорошее пособие по subclassing-у думаю мне подойдет Ваш пример реализации разноцветного ListView, скачанный с этого же сайта Вопрос по ListView Спасибо за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.04.2007, 18:24
|
|||
|---|---|---|---|
Виртуальный список ListView |
|||
|
#18+
Бенедикт пример с виртуальным ListView - супер только две вещи 1 есть огнаничение кол-ва элементов так как Long 2 как это можно связать с базами данных то есть есть recordset И ДАННЫЕ НУЖНО ВНЕСТИ В ListView? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.04.2007, 18:15
|
|||
|---|---|---|---|
Виртуальный список ListView |
|||
|
#18+
я сделал через recordset только скрол стал очень медленно работать можно ли как нибудь исправить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.04.2007, 18:53
|
|||
|---|---|---|---|
|
|||
Виртуальный список ListView |
|||
|
#18+
Я бы посмотрел на пользователя этой программы, который будет искать нужный ему элемент среди 10000 возможных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.04.2007, 10:52
|
|||
|---|---|---|---|
Виртуальный список ListView |
|||
|
#18+
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, то тормоза возможны, если код не скомпилирован. Здесь могут помочь стандартные танцы - скомпилировать, сжать, открыть закрыть... Если тормоза из-за низкой скорости получения данных, то нужна какая-то схема кэширования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=60&tablet=1&tid=2164251]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
161ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 456ms |

| 0 / 0 |
