Печать иерархии
Бэнд "Данные" позволяет печатать иерархический список. Для этого используется один бэнд и один источник данных. Иерархия должна быть определена в источнике данных с помощью двух полей:
- ключевое поле - это идентификатор строки данных;
- поле, которое содержит ключ родительской строки данных.
Чтобы напечатать такой источник в иерархическом виде, вам нужно настроить следующие свойства бэнда "Данные". Это можно сделать в окне "Свойства":

- ключевое поле указываем в свойстве
IdColumn; - поле, содержащее значение родителя, указываем в свойстве
ParentIdColumn; - в свойстве
Indentзадаем величину отступа.
Покажем на примере, как распечатать иерархию сотрудников из таблицы Employees. Таблица имеет два необходимых нам поля:
- поле
EmployeeIDявляется ключевым и содержит номер сотрудника; - поле
ReportsToсодержит номер сотрудника, которому подчиняется данный сотрудник.
Создадим отчет следующего вида:

Настроим свойства бэнда "Данные", которые отвечают за иерархию, следующим образом:

Запустим отчет на выполнение. В результате получится следующее:

При печати иерархии FastReport сдвигает бэнд вправо (на величину, указанную в свойстве Indent), а также уменьшает ширину бэнда на это же значение. При этом вы можете использовать свойство Anchor у объектов, лежащих на бэнде.
Возможные комбинации значения Anchor:
Left, Top(по умолчанию) - объект сдвигается вместе с бэндом;Right, Top- объект остается на месте;Left, Right, Top- фиксируется правый край объекта, левый край сдвигается вместе с бэндом.
Это позволяет получать разнообразные эффекты, как показано на рисунке:

В данном примере у картинки Anchor = Left, Top; у объекта с названием должности Anchor = Left, Right, Top; у объекта с именем - Anchor = Right, Top.