Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 TreeView...  [new]
Банджо
Member

Откуда:
Сообщений: 316
Добрый день,
нужно создать - наполнить иерархическую структуру, но как это все будет выглядеть станет ясно по мере наполнения (пишем - смотрим что получилось - исправляем - пишем и тд). Известно только что на верхнем уровне не более 10 строк, самих уровней не более 5, число записей не больше 5000.

Попробовал обычными таблицами, неудобно, медленно. Полез в Тривью - знаний явно не хватает, попробовал понять - увяз. Пошел по простому пути, прочитав несколько раз "в сети примеров море" полез искать примеры, но нужного найти пока не удалось.
Скачал пример mdb с https://jkp-ads.com, но он при запуске вылетает на
Private mUF As ufTreeView

видимо не хватает какой-то библиотеки для ufTreeView, не нахожу чего именно.

В идеале нужна такая бы картинка
[url=]https://jkp-ads.com/images/TreeViewExample.gif[/url]
но я явно не осилю такую штуку, поэтому хотя бы простое дерево. Если у кого есть, просто ссылка на работающий пример с "живой" иерархией, где можно добавлять, удалять, исправлять, перемещать узлы-строки.

Спасибо.
8 окт 19, 21:44    [21989885]     Ответить | Цитировать Сообщить модератору
 Re: TreeView...  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6304
Простой пример:

К сообщению приложен файл (treeviewP1.rar - 39Kb) cкачать
8 окт 19, 23:02    [21989928]     Ответить | Цитировать Сообщить модератору
 Re: TreeView...  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6304
Это почти Ваш идеал:

К сообщению приложен файл (treeviewP2.part01.rar - 145Kb) cкачать
8 окт 19, 23:15    [21989935]     Ответить | Цитировать Сообщить модератору
 Re: TreeView...  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6304


К сообщению приложен файл (treeviewP2.part02.rar - 127Kb) cкачать
8 окт 19, 23:16    [21989937]     Ответить | Цитировать Сообщить модератору
 Re: TreeView...  [new]
Банджо
Member

Откуда:
Сообщений: 316
sdku, спасибо, но открылся только простой Р1, остальные два пишет ошибку при распаковке, можно это поправить?
9 окт 19, 17:05    [21990689]     Ответить | Цитировать Сообщить модератору
 Re: TreeView...  [new]
osmor
Member

Откуда: hiprog.com
Сообщений: 1173
Банджо, Пример работы с TreeView
9 окт 19, 17:47    [21990736]     Ответить | Цитировать Сообщить модератору
 Re: TreeView...  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6304
Банджо
sdku, спасибо, но открылся только простой Р1, остальные два пишет ошибку при распаковке, можно это поправить?
-скачать оба тома архива в одну папку (загрузки)
-распаковать 1 том архива(если рядом, в этой же папке, не будет 2 тома возникнет ошибка)
Это та же база что и в ссылке данной osmor
9 окт 19, 18:24    [21990758]     Ответить | Цитировать Сообщить модератору
 Re: TreeView...  [new]
Банджо
Member

Откуда:
Сообщений: 316
osmor, sdku спасибо. Я смотрел эту базу, но у нее некорректно работает перетаскивание и добавление. А сам я это дело явно не допилю (
9 окт 19, 20:24    [21990837]     Ответить | Цитировать Сообщить модератору
 Re: TreeView...  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6304
Банджо,
добавление и в простом примере есть а вот с перетаскиванием посложнее будет. Предлагаю хорошенько подумать-а оно вам нужно? На худой конец, пользуясь простым примером, показать какой пункт удалить (соображайте как-найти по id отображаемому в поле на форме и куда вставить-для этого достаточно изменить поле [IDParents] (значение родительского узла) в таблице structura и обновить TreeWiew
9 окт 19, 22:30    [21990892]     Ответить | Цитировать Сообщить модератору
 Re: TreeView...  [new]
Serg197311
Member

Откуда: Жуковский
Сообщений: 628
Банджо
osmor, sdku спасибо. Я смотрел эту базу, но у нее некорректно работает перетаскивание и добавление. А сам я это дело явно не допилю (

Для того чтобы у меня это заработало мне понадобилось описать события
OLEstartDrag
OLEDragOver
Дополнительно научиться определять точное положение курсора через API(.Hittest)
OLEDragDrop
Написать свою функцию обработки события, которая как раз и осуществляет "перетаскивание" - те то что мы видим на экране
Сделать изменения в структуре таблиц, которые позволяют этой функции работать...

Что я думаю...... Я конечно могу выложить сюда форму с кодом, который в моей базе работает.
Но адаптировать ее к вашей базе вам придется самому и для этого придется прилично поработать.
Да - все исходные примеры для адаптации я нашел здесь же, сам ей-Богу ничего не придумал.....
Наверное месяца 2 это у меня заняло... И перетаскивание, и скролл дерева, и выпадающие меню на нем.....
10 окт 19, 07:12    [21990989]     Ответить | Цитировать Сообщить модератору
 Re: TreeView...  [new]
Банджо
Member

Откуда:
Сообщений: 316
Прошу прощения за отсутствие.
sdku, нужно ли перетаскивание... главная проблема в неопределенности задачи, а значит в неясности структуры дерева. То есть сегодня ты пишешь данные в одну ветку, а по мере их накопления становится ясно, что нужно делать иначе и переписываешь структуру. Потом снова пишешь, а потом снова необходимо что-то менять. Это не значит, что правильнее сначала бы все продумать а потом делать, не наоборот. Просто задача такая, нечеткая. Понять, какой она станет, можно только набивая данные. Может дело и ограничится небольшими переделками, но далеко не факт.
Нет перетаскивания - значит начинаются делет-инсерты. Сколько их будет - неизвестно, поэтому лучше, конечно, иметь соответствующий инструмент. Хотя можно и без него, в таблицах все сделать, теми же делет-инсертами. Но с живым нормальным деревом конечно все лучше и нагляднее, потому и полез смотреть на "в сети море примеров" .. из трех штук, как оказалось.

Serg197311, к сожалению, у меня нет двух месяцев на освоение инструмента. Определять положение курсора я не умею, да там ведь много всего кроме этого. Несмотря на то, что баз написано немало, но все они больше по поверхности кода, на 3+ в лучшем случае.
Насколько я смог понять объемы-содержание кода дерева, я вполне смогу адаптировать таблицы к примеру и косметику форм, плюс-минус мелочи, но не более того. Так что если адаптация это оно - то буду благодарен. Если нужно будет лезть в код, то спасибо, я не справлюсь с этим.

Так что если "море примеров в сети" уже исчерпалось, то скорее придется отложить свои хотелки с деревом в сторону и оставить для работы просто таблицы. Красивости мне по большому счету не нужны, а вставить-удалить-править можно и в них.
11 окт 19, 21:58    [21992569]     Ответить | Цитировать Сообщить модератору
 Re: TreeView...  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6304
Банджо,
Инструмент...
при выделении ноды в поле формы[ВыбранныйНод] появляется её значение ID в тбл.struktura ,которое надо запомнить.После этого показать куда переместить (значение отразится в поле [ВыбранныйНод]. Заменить в таблице [struktura]![IDParent] для записи с ID, определенным ранее на указанный "куда переместить". Обновить дерево.Как-то так
11 окт 19, 22:30    [21992581]     Ответить | Цитировать Сообщить модератору
 Re: TreeView...  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6304
Банджо
... Я смотрел эту базу, но у нее некорректно работает перетаскивание и добавление... (
Если открыть из архива-не корректно
Если распаковать-все ОК
13 окт 19, 21:34    [21993255]     Ответить | Цитировать Сообщить модератору
 Re: TreeView...  [new]
vmag
Member

Откуда: MP
Сообщений: 3296
sdku
Банджо,
Инструмент...
при выделении ноды в поле формы[ВыбранныйНод] появляется её значение ID в тбл.struktura ,которое надо запомнить.После этого показать куда переместить (значение отразится в поле [ВыбранныйНод]. Заменить в таблице [struktura]![IDParent] для записи с ID, определенным ранее на указанный "куда переместить". Обновить дерево.Как-то так


+

ну да, отдельная форма для корректировки:
- слева дерево и справа такое же дерево один в один (как в файловом менеджере),
- по середине кнопка >> ПЕРЕМЕСТИТЬ >>
- при нажатии кнопки, выделенный узел слева перемещается в выделенный узел справа
- обновить деревья и слева и справа, показать справа изменения...
ну как бэ кнопка должна делать то, что делается сейчас руками... а перетаскивание это имхо баловство - можно так перетащить, что потом хрен найдешь куда... разве ни к кому тети и бабушки не приставали с просьбой найти папочку, которую они куда то перетащили ????
13 окт 19, 23:41    [21993294]     Ответить | Цитировать Сообщить модератору
 Re: TreeView...  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6304
vmag
... разве ни к кому тети и бабушки не приставали с просьбой найти папочку, которую они куда то перетащили ????
Особенно если знали только-"там фото на котором я с внучкой возле памятника 'мужик в пиджаке'"
14 окт 19, 13:43    [21993691]     Ответить | Цитировать Сообщить модератору
 Re: TreeView...  [new]
Банджо
Member

Откуда:
Сообщений: 316
sdku, я распаковывал.. проверю еще раз
vmag
ну да, отдельная форма для корректировки:
... разве ни к кому тети и бабушки не приставали с просьбой найти папочку, которую они куда то перетащили ????
Убедительно )
14 окт 19, 15:34    [21993838]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить