powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / TreeView. Заполнять ноды по запросу.
8 сообщений из 8, страница 1 из 1
TreeView. Заполнять ноды по запросу.
    #39953830
_Sergio2005_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Большой набор данных нужно загнать в TreeView (common controls 6.0 (sp 6)). В результате, при заполнении TreeView приходится долго ждать.

Для более удобной работы с TreeView вижу два пути решения проблемы.
1. Заменить данный контрол TreeView на другой, поддерживающий свойство PopulateOnDemand (заполнение по запросу).
2 Контрол «common controls 6.0 (sp 6)» заполнять выборочно, посредством добавления узлов в узел-контейнер при нажатие на плюсик разворачивающий данный контейнер. Но что то не могу найти событие «нажатие на плюсик».

Подскажите. Либо какой то иной контрол TreeView. Не «common controls 6.0 (sp 6)» а с поддержкой заполнения по запросу. Либо как зовется событие в «common controls 6.0 (sp 6)» возникающее при нажатие на плюсик.

Спасибо.
...
Рейтинг: 0 / 0
TreeView. Заполнять ноды по запросу.
    #39953832
_Sergio2005_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все разобрался
...
Рейтинг: 0 / 0
TreeView. Заполнять ноды по запросу.
    #39955086
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зовется событие в «common controls 6.0 (sp 6)» возникающее при нажатие на плюсик.

.expand
ну так, может не до конца разобрался))
...
Рейтинг: 0 / 0
TreeView. Заполнять ноды по запросу.
    #39955096
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311, давненько я не работал с этим контролом...
Заполнение идёт либо на событие ЛКМ, либо на нажатие определённых клавиш (стрелок, энтер и пр). Рассмотрим только клик мыши.
На событие ЛКМ определяется область куда кликнул пользователь - лейбл, плюсик или ещё куда (так-то есть такая возможность)... Если в плюсик, то заполняешь новую ветвь и разворачиваешь. Да, нужно ещё не забыть нарисовать плюсики где должны быть скрытые ветви. Сделать это можно либо добавляя фейковую ноду (не забыть её потом убрать!), либо через API дать команду ноде отобразить плюсик (и так можно).
Как-то так... Примеров готовых под рукой нет, уж извини.
...
Рейтинг: 0 / 0
TreeView. Заполнять ноды по запросу.
    #39955098
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Городить этот огород стоит если много данных, ну или очень хочется. Работает шустро.
...
Рейтинг: 0 / 0
TreeView. Заполнять ноды по запросу.
    #39958491
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заполнить дерево более чем просто.

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

Фокус в том, что тривью наглядно показывает иерархические связи, но особенно удобно и эффективно оно будет если:
* Для КАЖДОГО узла справа от тривью выводить форму-карточку текущего узла (передергивая вложенную субформу)
* На этой карточке иметь нормальные редактируемые поля для свойств поля и вложенный грид для ввода дочерних узлов

Тогда можно все дерево можно заполнить не выходя за пределы одной формы.
...
Рейтинг: 0 / 0
TreeView. Заполнять ноды по запросу.
    #39961514
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А кстати что значит - большой объем данных? У меня примерно 7000 поз - разворачивается за 3 сек
...
Рейтинг: 0 / 0
TreeView. Заполнять ноды по запросу.
    #39961534
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311
А кстати что значит - большой объем данных?
это каждый решает сам.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / TreeView. Заполнять ноды по запросу.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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