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