Древовидная структура
Уважаемые знатоки!
Используя FastReport 2.51 необходимо вывести меню некоего ресторана.
Беда в том, что меню древовидное, скажем, <span style='color:blue'>Горячие блюда</span>, внутри него <span style='color:blue'>блюда из мяса</span>, <span style='color:blue'>блюда из рыбы</span>, в которых тоже могут быть вложения (число вложенности не известно).
Имеется некая таблица с полями
KOD KODPAR NAME CENA BLUDO
где KOD - первичный ключ
KODPAR - код записи родителя (для вложенности)
NAME, CENA и др. поля - характеристики блюд и разделов
BLUDO типа BOOLEAN (то есть это лист дерева (в нашем случае блюдо) или раздел).
Что бы не быть голословным, привожу картинку.
Так как можно этот самы отчет в бумажной форме вывести?
Используя FastReport 2.51 необходимо вывести меню некоего ресторана.
Беда в том, что меню древовидное, скажем, <span style='color:blue'>Горячие блюда</span>, внутри него <span style='color:blue'>блюда из мяса</span>, <span style='color:blue'>блюда из рыбы</span>, в которых тоже могут быть вложения (число вложенности не известно).
Имеется некая таблица с полями
KOD KODPAR NAME CENA BLUDO
где KOD - первичный ключ
KODPAR - код записи родителя (для вложенности)
NAME, CENA и др. поля - характеристики блюд и разделов
BLUDO типа BOOLEAN (то есть это лист дерева (в нашем случае блюдо) или раздел).
Что бы не быть голословным, привожу картинку.
Так как можно этот самы отчет в бумажной форме вывести?
Комментарии
и пусть она тебе дополнительно возвращает поле Deep, кот. обозначает глубину вложенности объекта
к примеру 0 - корневые объекты
их дени - 1, внуки - 2 и т.д.
В обработчике мемо формируешь отступ от края листа в соответствие с глубиной вложенности
пишешь так примерно:
tmp:=' ';
for i:=1 to [Query."Deep"] do tmp:=tmp+' ';
memo:=tmp+memo;
и пусть она тебе дополнительно возвращает поле Deep, кот. обозначает глубину вложенности объекта
к примеру 0 - корневые объекты
их дени - 1, внуки - 2 и т.д.
В обработчике мемо формируешь отступ от края листа в соответствие с глубиной вложенности
пишешь так примерно:
tmp:=' ';
for i:=1 to [Query."Deep"] do tmp:=tmp+' ';
memo:=tmp+memo;
Здесь стало быть таких отчетов еще нет...