Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.28;
Скачать: CL | DM;

Вниз

Печать DBTree   Найти похожие ветки 

 
Sword ©   (2003-08-01 17:34) [0]

Как распечать данные отображающиеся в DbTree, без потери древовидной структуры


 
Sir Alex ©   (2003-08-01 18:19) [1]

Можно взять FastReport, потом каждую выводимую строку смещать на

X = 50 + 20*CurrentLevel

Где 20 - Размер смещения одного уровня;
50 - Константа, смещение от левой границы отчета;
CurrentLevel - Уровень текущего узла дерева;

Более подробно не могу написать, т.к. неизвестна структура БД, какой генератор отчетов и т.д.


 
Sword ©   (2003-08-01 18:23) [2]

Структура
ID
PARENT_ID
NAME

ну и прочие поля с различной информацией

использую FastReport


 
Sir Alex ©   (2003-08-01 19:03) [3]

У меня немного другая структура, но думаю идея будет понятна:
Структура БД:
ID ParentID PNames Name
1 0 "0" "Колбаса"
2 1 "0.2" "Мясо"
3 1 "0.3" "Сало"
4 1 "0.4" "Стабилизаторы"
5 2 "0.2.5" "Баранина"
6 2 ( [DialogForm.qOST."PNAMES"]) У меня немного другая структура, но думаю идея будет понятна:
Структура БД:
ID ParentID PNames Name
1 0 "0" "Колбаса"
2 1 "0.2" "Мясо"
3 1 "0.3" "Сало"
4 1 "0.4" "Стабилизаторы"
5 2 "0.2.5" "Баранина"
6 2 "0.2.6" "Свинина"

Теперь отчет:
Есть Master Data, на котором лежит Memo1:"[DialogForm.qOST."NAME"]"

У самого Master Data назначен скрипт:

begin
currentLevel:=[COUNTLEVEL([DialogForm.qOST."PNAMES"])];
memo2.left:=50+currentLevel*20;
end


Где функция COUNTLEVEL просто напросто подсчитывает количество точек в поле PNames (Что даст нам уровень узла в дереве)


 
Sir Alex ©   (2003-08-01 19:06) [4]

В смысле
memo1.left:=50+currentLevel*20;



Страницы: 1 вся ветка

Текущий архив: 2003.08.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
7-92274
Mortal
2003-06-14 11:17
2003.08.28
Окна Windows


4-92317
lmatveev
2003-06-28 14:27
2003.08.28
Как получить указатаель на системный ImageList?


14-92256
Озабоченный
2003-08-11 15:52
2003.08.28
Легализация пиратской версии Делфи...


4-92296
tiam
2003-06-26 08:12
2003.08.28
Состояние чужого процесса


14-92227
Yegor
2003-08-09 21:57
2003.08.28
Screen Mate