|
"Привить" дерево к дереву
|
|||
---|---|---|---|
#18+
Уважаемые коллеги! В таблице Т1 хранится дерево Д1, в таблице Т2 хранится дерево Д2. Обе таблицы "однотипны", поскольку созданы ОДНОЙ программой. У каждой таблицы есть корень, соответственно К1 и К2. В Д1 создаем новый узел У1 (где угодно). Как сделать так, чтобы У1 стал К2. Это "прививка" Д2 на Д1 в У1. Пожалуйста, поделитесь со мной идеями. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2011, 15:25 |
|
"Привить" дерево к дереву
|
|||
---|---|---|---|
#18+
UAP, Простите, экстрасенсорный модуль отдал в ремонт - немного барахлить стал. Таблицы - в студию Или описание таблиц, ключей - в хорошо проваренном виде ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2011, 16:10 |
|
"Привить" дерево к дереву
|
|||
---|---|---|---|
#18+
SSn888 ! Как всегда Т (Порядковый номер, Ссылка на порядковый номер материнской записи, Полезная информация) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2011, 16:24 |
|
"Привить" дерево к дереву
|
|||
---|---|---|---|
#18+
Это все о чем? Об изменении содержимого таблиц или о наполнении объекта TreeView на форме? Вам надо "скопировать" (с изменением кодов) содержимое таблицы Т2 в таблицу Т1 или просто отобразить подчиненность на форме? Для справки: Проход по дереву - это рекурсия. Функция, вызывающая сама себя. Вопросов по перебору элементов дерева в данном форуме было полно. Надо только адаптировать все ту же рекурсию под Вашу задачу. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2011, 16:36 |
|
"Привить" дерево к дереву
|
|||
---|---|---|---|
#18+
Уважаемый ВладимирМ! Речь НЕ о TreeView. Я только что сообразил как это делать, а Вы уже сформулировали идею. Ключевое слово идеи как вы сказали - изменить коды "прививаемой" таблицы (импортируемой). На мой взгляд, алгоритм таков. Пусть место "прививки" имеет коды (n,m). Нетрудно понять, что Корень "прививаемого" дерева имеет коды (0,0). Понятно, что n-0=n. Следовательно, во второй таблице к первому и второму кодам во всех записях нужно прибавить n. После этого в Т1 сделать APPEND FROM Т2. И все (ну, почти все). ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2011, 18:29 |
|
"Привить" дерево к дереву
|
|||
---|---|---|---|
#18+
UAPУважаемый ВладимирМ! Речь НЕ о TreeView. Я только что сообразил как это делать, а Вы уже сформулировали идею. Ключевое слово идеи как вы сказали - изменить коды "прививаемой" таблицы (импортируемой). На мой взгляд, алгоритм таков. Пусть место "прививки" имеет коды (n,m). Нетрудно понять, что Корень "прививаемого" дерева имеет коды (0,0). Понятно, что n-0=n. Следовательно, во второй таблице к первому и второму кодам во всех записях нужно прибавить n. После этого в Т1 сделать APPEND FROM Т2. И все (ну, почти все). 1. Ну, практика показывает, что после слов ВладимираМ вообще сложно что-то прибавить, потому как он говорит все, что оптимально нужно на уровне снайпера :) 2. ага, прибавляйте... но не забудьте про риск появления дубликатов в результате сложения и имющегося в дичке, к которому прививаете. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2011, 21:46 |
|
|
start [/forum/topic.php?fid=41&msg=37555009&tid=1583974]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 161ms |
0 / 0 |