Форум: "Базы";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
ВнизDrag&Drop деревьев Найти похожие ветки
← →
Денис Курьин (2003-06-02 14:27) [0]Доброго времени суток, уважаемые Мастера!
Подскажите, как осуществить Drag&Drop из одного дерева в другое с перекодировкой дерева Tree_2 в зависимости от структуры перетаскиваемой ветви дерева Tree_1, а также копированием соответствующих данных, хранящихся в других таблицах, связаных с деревом Tree_1?
← →
Карелин Артем (2003-06-02 14:34) [1]Вообще-то деревья в базе можно хранить туевой хучей способов. Ответ можно дать только при более подробной формулировке.
Вопрос на засыпку: если можно построить дерево из содержимого некой базы и получить связанные с деревом даные, то почему нельзя получить эти данные для ветки и засунуть в другое место?
← →
Денис Курьин (2003-06-02 14:42) [2]Как получить SQL-запросом всех детей ветви, если кодировка деревьев следующая:
Id Parent Name
1 0 111
2 0 222
3 1 111_333
4 3 333_444
Допустим, я хочу получить ветвь с Id = 1 и всех ее потомков (Id=1,3,4)
А потом эту ветку засунуть в другое дерево но c Id = 15?
← →
Соловьев (2003-06-02 14:51) [3]
> Денис Курьин © (02.06.03 14:42)
в парадоксе очень тяжело работать с деревьми, так как нельзя сделать ХП с рекурсией, прийдется писать в цыкле запрос вида
select *
from table
where id=:idparent
← →
Zacho (2003-06-02 14:52) [4]
> Денис Курьин © (02.06.03 14:42)
В LocalSQL - никак. В разных SQL-серверах есть разные способы для этого, а для Парадокса только рекурсивной процедурой.
← →
Денис Курьин (2003-06-02 14:53) [5]А как это будет выглядеь в целом, куда мне промежуточные результаты складывать, промежуточная таблица не желательна.
← →
Соловьев (2003-06-02 14:54) [6]
> куда мне промежуточные результаты складывать,
динамический массив.
← →
Денис Курьин (2003-06-02 14:56) [7]а если у этой ветви 30 000 потомков, тогда как, а топтаться задача будет на 486 :-(
← →
Соловьев (2003-06-02 15:00) [8]
> этой ветви 30 000 потомков,
а ты по уровням переноси, а не сразу всех.
← →
Денис Курьин (2003-06-02 15:07) [9]а как быть с перекодировкой дерева-получателя, ведь мне надо точно такую же структуру построить
← →
Соловьев (2003-06-02 15:10) [10]ну когда ты сохранишь первый уровень, то получишь новые id этих элементов, вот их и присвоишь следующему уровню вместо старых
← →
Денис Курьин (2003-06-02 15:18) [11]Ну, вроде вкурил, но еще каша в голове, попробую, может и получится, всем огромное спасибо
← →
Карелин Артем (2003-06-03 14:43) [12]Скажем так: у веток деревьев есть некое свойство TTreeNode.Data
Так вот туда при создании ветки можно запихать идентификатор ветки.
Дальше можно пройтись по всем дочерним элементам нужной ветки и получив нужные идентификаторы поместить на новое место.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.036 c