|
TreeView...
|
|||
---|---|---|---|
#18+
Добрый день, нужно создать - наполнить иерархическую структуру, но как это все будет выглядеть станет ясно по мере наполнения (пишем - смотрим что получилось - исправляем - пишем и тд). Известно только что на верхнем уровне не более 10 строк, самих уровней не более 5, число записей не больше 5000. Попробовал обычными таблицами, неудобно, медленно. Полез в Тривью - знаний явно не хватает, попробовал понять - увяз. Пошел по простому пути, прочитав несколько раз "в сети примеров море" полез искать примеры, но нужного найти пока не удалось. Скачал пример mdb с https://jkp-ads.com, но он при запуске вылетает на Код: vbnet 1.
видимо не хватает какой-то библиотеки для ufTreeView, не нахожу чего именно. В идеале нужна такая бы картинка https://jkp-ads.com/images/TreeViewExample.gif но я явно не осилю такую штуку, поэтому хотя бы простое дерево. Если у кого есть, просто ссылка на работающий пример с "живой" иерархией, где можно добавлять, удалять, исправлять, перемещать узлы-строки. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 21:44 |
|
TreeView...
|
|||
---|---|---|---|
#18+
sdku, спасибо, но открылся только простой Р1, остальные два пишет ошибку при распаковке, можно это поправить? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 17:05 |
|
TreeView...
|
|||
---|---|---|---|
#18+
Банджо, Пример работы с TreeView ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 17:47 |
|
TreeView...
|
|||
---|---|---|---|
#18+
Банджоsdku, спасибо, но открылся только простой Р1, остальные два пишет ошибку при распаковке, можно это поправить?-скачать оба тома архива в одну папку (загрузки) -распаковать 1 том архива(если рядом, в этой же папке, не будет 2 тома возникнет ошибка) Это та же база что и в ссылке данной osmor ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 18:24 |
|
TreeView...
|
|||
---|---|---|---|
#18+
osmor, sdku спасибо. Я смотрел эту базу, но у нее некорректно работает перетаскивание и добавление. А сам я это дело явно не допилю ( ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 20:24 |
|
TreeView...
|
|||
---|---|---|---|
#18+
Банджо, добавление и в простом примере есть а вот с перетаскиванием посложнее будет. Предлагаю хорошенько подумать-а оно вам нужно? На худой конец, пользуясь простым примером, показать какой пункт удалить (соображайте как-найти по id отображаемому в поле на форме и куда вставить-для этого достаточно изменить поле [IDParents] (значение родительского узла) в таблице structura и обновить TreeWiew ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 22:30 |
|
TreeView...
|
|||
---|---|---|---|
#18+
Банджоosmor, sdku спасибо. Я смотрел эту базу, но у нее некорректно работает перетаскивание и добавление. А сам я это дело явно не допилю ( Для того чтобы у меня это заработало мне понадобилось описать события OLEstartDrag OLEDragOver Дополнительно научиться определять точное положение курсора через API(.Hittest) OLEDragDrop Написать свою функцию обработки события, которая как раз и осуществляет "перетаскивание" - те то что мы видим на экране Сделать изменения в структуре таблиц, которые позволяют этой функции работать... Что я думаю...... Я конечно могу выложить сюда форму с кодом, который в моей базе работает. Но адаптировать ее к вашей базе вам придется самому и для этого придется прилично поработать. Да - все исходные примеры для адаптации я нашел здесь же, сам ей-Богу ничего не придумал..... Наверное месяца 2 это у меня заняло... И перетаскивание, и скролл дерева, и выпадающие меню на нем..... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2019, 07:12 |
|
TreeView...
|
|||
---|---|---|---|
#18+
Прошу прощения за отсутствие. sdku, нужно ли перетаскивание... главная проблема в неопределенности задачи, а значит в неясности структуры дерева. То есть сегодня ты пишешь данные в одну ветку, а по мере их накопления становится ясно, что нужно делать иначе и переписываешь структуру. Потом снова пишешь, а потом снова необходимо что-то менять. Это не значит, что правильнее сначала бы все продумать а потом делать, не наоборот. Просто задача такая, нечеткая. Понять, какой она станет, можно только набивая данные. Может дело и ограничится небольшими переделками, но далеко не факт. Нет перетаскивания - значит начинаются делет-инсерты. Сколько их будет - неизвестно, поэтому лучше, конечно, иметь соответствующий инструмент. Хотя можно и без него, в таблицах все сделать, теми же делет-инсертами. Но с живым нормальным деревом конечно все лучше и нагляднее, потому и полез смотреть на "в сети море примеров" .. из трех штук, как оказалось. Serg197311, к сожалению, у меня нет двух месяцев на освоение инструмента. Определять положение курсора я не умею, да там ведь много всего кроме этого. Несмотря на то, что баз написано немало, но все они больше по поверхности кода, на 3+ в лучшем случае. Насколько я смог понять объемы-содержание кода дерева, я вполне смогу адаптировать таблицы к примеру и косметику форм, плюс-минус мелочи, но не более того. Так что если адаптация это оно - то буду благодарен. Если нужно будет лезть в код, то спасибо, я не справлюсь с этим. Так что если "море примеров в сети" уже исчерпалось, то скорее придется отложить свои хотелки с деревом в сторону и оставить для работы просто таблицы. Красивости мне по большому счету не нужны, а вставить-удалить-править можно и в них. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2019, 21:58 |
|
TreeView...
|
|||
---|---|---|---|
#18+
Банджо, Инструмент... при выделении ноды в поле формы[ВыбранныйНод] появляется её значение ID в тбл.struktura ,которое надо запомнить.После этого показать куда переместить (значение отразится в поле [ВыбранныйНод]. Заменить в таблице [struktura]![IDParent] для записи с ID, определенным ранее на указанный "куда переместить". Обновить дерево.Как-то так ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2019, 22:30 |
|
TreeView...
|
|||
---|---|---|---|
#18+
Банджо... Я смотрел эту базу, но у нее некорректно работает перетаскивание и добавление... (Если открыть из архива-не корректно Если распаковать-все ОК ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2019, 21:34 |
|
TreeView...
|
|||
---|---|---|---|
#18+
sdkuБанджо, Инструмент... при выделении ноды в поле формы[ВыбранныйНод] появляется её значение ID в тбл.struktura ,которое надо запомнить.После этого показать куда переместить (значение отразится в поле [ВыбранныйНод]. Заменить в таблице [struktura]![IDParent] для записи с ID, определенным ранее на указанный "куда переместить". Обновить дерево.Как-то так + ну да, отдельная форма для корректировки: - слева дерево и справа такое же дерево один в один (как в файловом менеджере), - по середине кнопка >> ПЕРЕМЕСТИТЬ >> - при нажатии кнопки, выделенный узел слева перемещается в выделенный узел справа - обновить деревья и слева и справа, показать справа изменения... ну как бэ кнопка должна делать то, что делается сейчас руками... а перетаскивание это имхо баловство - можно так перетащить, что потом хрен найдешь куда... разве ни к кому тети и бабушки не приставали с просьбой найти папочку, которую они куда то перетащили ???? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2019, 23:41 |
|
TreeView...
|
|||
---|---|---|---|
#18+
vmag... разве ни к кому тети и бабушки не приставали с просьбой найти папочку, которую они куда то перетащили ????Особенно если знали только-"там фото на котором я с внучкой возле памятника 'мужик в пиджаке'" ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2019, 13:43 |
|
TreeView...
|
|||
---|---|---|---|
#18+
sdku, я распаковывал.. проверю еще раз vmagну да, отдельная форма для корректировки: ... разве ни к кому тети и бабушки не приставали с просьбой найти папочку, которую они куда то перетащили ????Убедительно ) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2019, 15:34 |
|
TreeView...
|
|||
---|---|---|---|
#18+
Вопрос по Тривью. У вас это работает под 64 битных ОС и Офисе? У меня нет. пишет всякие гадости. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2020, 12:23 |
|
TreeView...
|
|||
---|---|---|---|
#18+
Дар1 У вас это работает под 64 битных ОС и Офисе? У меня нет. пишет всякие гадости. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2020, 12:39 |
|
TreeView...
|
|||
---|---|---|---|
#18+
Не попадались решения? Или это глухой номер ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2020, 13:16 |
|
TreeView...
|
|||
---|---|---|---|
#18+
Дар1 Нет там ничего ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2020, 15:26 |
|
TreeView...
|
|||
---|---|---|---|
#18+
Дар1 Нет там ничего Все там есть. У меня отлично работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2020, 15:49 |
|
TreeView...
|
|||
---|---|---|---|
#18+
Серг. Что именно работает? Вы о том примере который представили пара иностранных разарботчиков? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2020, 15:15 |
|
TreeView...
|
|||
---|---|---|---|
#18+
Дар1 Серг. Что именно работает? Вы о том примере который представили пара иностранных разарботчиков? Да, я этот пример прикрутил к проекту на VBA(не в Аксе) Дерево работает быстрее чем штатное пока не разобрался с DRAG DROP и всякими мелочами - но в целом доволен ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2020, 15:50 |
|
TreeView...
|
|||
---|---|---|---|
#18+
А в Аксесе не пробовал? У меня проекты именно на нем. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2020, 17:07 |
|
TreeView...
|
|||
---|---|---|---|
#18+
Дар1 А в Аксесе не пробовал? У меня проекты именно на нем. Пробовал. Но - только простенький тест - заработает-не заработает. Работает тоже, но надо переделывать формы кардинально. Пока я могу влиять на админа, и иметь у себя 32-ой офис. А там... или мелкомягкие нормальную либу сделают, или придется переделывать весь проект Но у меня не для дистрибуции, так что это возможно. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2020, 08:54 |
|
TreeView...
|
|||
---|---|---|---|
#18+
После вынужденного таймаута.. Остановился на варианте jkp-ads.com, устраивает по всем параметрам. Разобрался насколько сумел, сделал под себя, дерево работает. Раньше, в самопальном "дереве" у меня каждая позиция кодировалась по принципу ААА-БББ-ССС... Все работало, но ясно что это не лучшее решение. Теперь, с нормальным деревом, хотелось бы более правильного решения, поискал варианты, сделал минимум избыточности данных (дерево у меня небольшое, скорость некритична): tab1: id, profile tab2: id, id_parent По задаче имеем дерево параметров пользователя, в которых ставит галки выбора пользователь (хочу знать о событиях в такой-то области) и дерево таких же параметров текущего события. Происходит событие, заносим его в базу, проставляем атрибуты, читаем атрибуты дерева пользователя, сравниваем с атрибутами дерева события, при совпадении (с учетом связей родители-дети) информация о событии отсылается пользователю. С деревом вроде разобрался, стал вопрос о методах работы с данными. При выбранной структуре таблиц дерева конечная позиция ни о чем не говорит, нужно знать полный путь от атрибута до корня. Уровней в дереве 5, значит хранить нужно коды 5 узлов. Напрашивается решение в лоб - таблица с 5 полями для каждого уровня. Считываем дерево в таблицу и дальше с ним разбираемся. При этом для атрибутов 1,2,3,4 уровня такая таблица будет явно избыточна.. наверняка есть более правильные решения. Как можно правильно организовать хранение и сравнение выбранных атрибутов пользователя и события? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2020, 00:16 |
|
TreeView...
|
|||
---|---|---|---|
#18+
С предыдущим вроде разобрался, застрял на переменных именах полей: Код: vbnet 1. 2. 3.
последняя строка, если писать rst_(j - 1)!id_1 - все нормально если rst_(j - 1)!id_" & j - 1 - ошибка компиляции, хотя для таблицы tblConnect_" & i & ".id_" & j - 1 - все нормально ошибаюсь в чем или так вообще нельзя к rst обращаться? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2020, 20:32 |
|
TreeView...
|
|||
---|---|---|---|
#18+
"WHERE (tblConnect_" & i & ".id_" & j - 1 & " = " & rst_(j - 1)("id_" & j) & " and tblConnect_" & i & ".level = " & j + 1 & ")" так тоже не работает.. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2020, 20:52 |
|
|
start [/forum/topic.php?all=1&fid=45&tid=1610118]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 192ms |
0 / 0 |