![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
AndreyZ53 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 22.8.2008 Репутация: нет Всего: 2 |
Здравствуйте, помогите пожалуйста разобраться Treeview, как мне для выделенного узла добавить узел и сохранить эту структуру, чтобы при следующем запуске программы, он вылазил в такой же структуре. То есть отображались уже и те добавленные узлы в той же иерархии. Как-то не доводилось мне работать с этим компонентом, а вот сейчас стоит задача такая, что нужно добавить, удалить узел, а также при удалении узла если у него есть подузлы, то автоматом удалять и их, буду очень признателен, если поможете разобраться
--------------------
https://itbases.ru/ |
|||
|
||||
Norfonzor |
|
||||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 17.10.2008 Репутация: нет Всего: нет |
Читай Virtual Treeview там все есть, примеры: http://depositfiles.com/files/8dozcctig
добавление новой:
сохранение
загрузка
удаление
Это сообщение отредактировал(а) Norfonzor - 17.5.2010, 18:29 |
||||||||
|
|||||||||
Dom |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 7.8.2005 Репутация: 1 Всего: 4 |
А может вопрос по стандартному компоненту TTreeView?
|
|||
|
||||
kami |
|
||||||||||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 23 Всего: 72 |
В ходе загрузки приложения:
Они автоматом удалятся сами. Единственное что нужно - удалить "старший" среди нужного поддерева.
P.S. Хотя, если честно - "всё украдено до нас" и описано в F1. Добавлено @ 21:45 Слишком сложно. (хотя, скорее всего, потому что я не работал с XML. И вроде в этом коде допускается только один элемент верхнего уровня...но это при беглом взгляде, не вникал). Для сохранения/загрузки нодов в vt есть отличные события OnLoadNode|OnSaveNode. В них загружаем/сохраняем ассоциированные с нодом (ТОЛЬКО с тем, который передан в это событие!) данные (NodeData) из потока и не заморачиваемся - vt сам загрузит/сохранит полное состояние дерева (вплоть до развернут/свернут узел, высоту каждого нода и т.п.). Это сообщение отредактировал(а) kami - 17.5.2010, 21:48 |
||||||||||||
|
|||||||||||||
AndreyZ53 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 22.8.2008 Репутация: нет Всего: 2 |
Спасибо всем, да мне нужен именно стандартный Treeview, вот еще что хотел спросить, как мне например для каждого узла, у которых нету дочерних узлов (то есть они конечные) например для него занести в БД (без разницы в какую) например какие-то данные, а потом чтобы я нажимал на этот узел и из БД брались эти данные, а жал на родительский узел и выводились полностью все данные дочерних узлов, то есть может како-то мне индекс записывать туда и по нажатию на узел считывать индекс и делать запрос к БД, или там как-то по-другому, а если не по-другому (я просто не работал с этим компонентом), и как мне например по нажатию на общий родительский узел сделать запрос к БД. Вот с этим бы еще разобраться мне.
А так да, спасибо за VirtualTreeview, но как-то там все громостко, для моей задачи такого ненадо, в VirtualTreeview там типа можно красоту новодить? типа иконки вставлять еще, я правильно понимаю? --------------------
https://itbases.ru/ |
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 23 Всего: 72 |
Многабукав. Ниасилил.
![]() Чем обусловлена необходимость работы с БД? Сколько нодов планируется иметь в дереве? Какие данные хранить в базе? Какую планируется использовать СУБД? (какую-нибудь - это не ответ). Судя по вопросу с БД тоже не работал? Добавлено через 2 минуты и 30 секунд Это неверно. VT очень многое позволяет делать и менять, но это не значит, что она сама не справится с большинством задач. Типа красоту - малая часть огромных возможностей этого компонента. |
|||
|
||||
AndreyZ53 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 22.8.2008 Репутация: нет Всего: 2 |
kami, нодов в дереве будет, столько сколько пользователь добавит, то есть фиксированного числа нету, он добавит и для него же добавит данные в БД, БД например буду использовать Access, ну а БД мне нужна для каталога, то есть для одного узла в БД может быть несколько данных, и чтобы на узел когда нажимаю отображались эти данные, мне только подсказать каким образом записывать в БД значения нодов, чтобы по им можно было сделать запрос в БД.
--------------------
https://itbases.ru/ |
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 23 Всего: 72 |
Это понятно. Но есть предел (весьма размытый, кстати), после которого с программой в избранной конфигурации становится просто неудобно работать. Так сколько? сто, тысяча, миллион? Например Access входит в состав платного MSOffice. Ты уверен, что твой пользователь имеет его? Я спрашивал - каких данных? строки, числа, файлы - какие данные? Пойми, я спрашиваю не просто так - вполне возможно, что для твоей задачи БД и не нужна, так как можно элементарно справиться и без нее. В конечном итоге это выйдет гораздо быстрее, меньше по размеру и лучше. Если же ориентироваться на БД, то нужно, чтобы она была установлена на компьютере пользователя. А это для пользователя не всегда возможно. Ответь, пожалуйста, на поставленные вопросы полностью, не зацикливаясь на "мне бы добавить и забрать данные из БД". |
|||
|
||||
AndreyZ53 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 22.8.2008 Репутация: нет Всего: 2 |
Хорошо мне нужен обычный каталог, то есть например узел называется Кабеля, на него нажимаю и в ДБгриде выводится 2 строки (их может сколько угодно быть, в зависимости сколько админ добавит) в этих двух строках ДБгрида выводится пути к файлам, они в pdf формате ну и там кнопочка открыть, то есть по нажатию пользователю будет открываться этот файл. Вот это я все хотел реализовать через БД, ну нодов будет около 20 (но опять же админ может добавлять), ну БД можно взять и MySQL (если через БД будет быстрее сделать), ах да забыл, что сам файл с узлами и этими путями должен находится на сервере (возможно вот почему я тут буду использовать БД), то есть чтобы админ добавил пару узлов и в у всех в программах на рабочих местах обновилось это все, думаю суть понятно какой каталог
--------------------
https://itbases.ru/ |
|||
|
||||
neo7777 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 30.6.2008 Репутация: нет Всего: нет |
Не могу зайти по ссылке! Выходит сообщение: Вы не имеете прав чтения этого форума. Если данный форум защищён паролем, то Вы должны авторизоваться в этом форуме, зайдя в него с главной страницы форума. С главной вообще не смог найти. Помогите пожалуйста, где можно найти это описание по virtual treeview? СПАСИБО. |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
-------------------- Обижено школьников: 8 |
|||
|
||||
neo7777 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 30.6.2008 Репутация: нет Всего: нет |
А с чем связано удаление статьи, не подскажете, пожалуйста? И где её можно всё таки найти в последней редакции? |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
не знаю - по обоим пунктам
-------------------- Обижено школьников: 8 |
|||
|
||||
ZBugz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 636 Регистрация: 15.2.2006 Где: Москва Репутация: 6 Всего: 6 |
||||
|
||||
neo7777 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 30.6.2008 Репутация: нет Всего: нет |
Спасибо БОЛЬШОЕ!!! )) Жалко, не могу поставить плюсик к вашей репутации, не хватает количество постов.... очень помогли... Это сообщение отредактировал(а) neo7777 - 11.10.2011, 18:55 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |