Отчет "Главный-подчиненный" (Master-detail)
Используя два бэнда "Данные", легко построить отчет типа "Главный-подчиненный" (master-detail). В этом отчете используются два источника данных, между которыми установлена связь. Одной строке главного источника может соответствовать несколько строк подчиненного источника. Подробнее о связях читайте в главе "Данные".
Бэнды необходимо расположить в отчете так, чтобы главный бэнд содержал внутри себя подчиненный. Это делается в окне "Настройка бэндов", которое можно вызвать в меню "Отчет|Настроить бэнды...".
Рассмотрим создание master-detail отчета "с нуля". Для этого запустим дизайнер отчета и создадим новый пустой отчет. Он уже содержит один бэнд "Данные":
Чтобы добавить подчиненный бэнд "Данные", вызовите окно "Настройка бэндов". Это можно сделать, нажав кнопку "Настроить бэнды...", показанную на рисунке, или выбрав пункт меню "Отчет|Настроить бэнды...". В окне настройки отображается текущая структура бэндов:
Выберите бэнд "Данные", как показано на рисунке, и нажмите правую кнопку мыши, чтобы показать контекстное меню (либо нажмите кнопку "Добавить" в нижней части окна). В открывшемся меню выберите бэнд "Данные":
После этого к выбранному бэнду добавится вложенный бэнд "Данные". Закройте окно кнопкой "Закрыть". Вы увидите, что шаблон отчета изменился следующим образом:
Вложенность бэндов данных хорошо видна на структуре бэндов в левой части окна. После этого нужно привязать бэнды к соответствующим источникам данных и расположить поля данных на бэндах. Мы будем использовать связанные источники данных Categories (Категории) и Products (Продукты) из демонстрационной базы данных, которая поставляется в комплекте FastReport:
При запуске отчета мы увидим следующее:
Таким образом вы можете создавать отчеты типа master-detail с неограниченной вложенностью данных, например, master-detail-subdetail. Другой способ, который применяется для создания отчетов типа master-detail, связан с использованием вложенных отчетов. Вложенные отчеты будут рассмотрены далее.