FastReport как добавить переменную (Variables)

Проблема: Как добавить пользовательские переменные в отчет FastReport’а.
Инструментарий: Delphi XE4, FastReport 4
Решение: Переменная это полезная вещь которой можно присвоить значение или выражение, которое будет автоматически вычисляться при обращении к ней. Конечно мы можем в отчет добавить переменные с помощью визуального редактора, пользуясь окном «Дерево данных», но нам этот подход не подходит, поскольку нам нужно динамически добавить нужные данные в отчет с программы. Ссылка на список переменных отчета хранится в свойстве TfrxReport.Variables.
Если у Вас на форме размещен компонент frxReport1, тогда обратится  к списку переменных можно так:

frxReport1.Variables

Для создания списка вручную надо выполнить следующие шаги:

  • очистить список

frxReport1.Variables.Clear

  • создать категорию. Переменная от категории отличается только пробелом перед названием. Если он есть — тогда это категория, иначе переменная.

frxReport1.Variables[' ' + 'My Category 1'] := Null;

  • создать переменные (Название категории указывается без пробела).

frxReport1.Variables.AddVariable('My Category 1', 'My Variable 1', 1);
frxReport1.Variables.AddVariable('My Category 1', 'My Variable 2', 'Текст 1');

  • повторить шаги 2 и 3 для создания других категорий.

Чтобы просмотреть переменные нужно открыть дизайнер FastReport’a и открыть пункт меню Отчеты — Переменные, в результате откроется окно в котором можно посмотреть доступные переменные Рис. 1

Рис. 1 Список переменны

Для удаления категории есть метод DeleteCategory

frxReport1.Variables.DeleteCategory('My Category 1');

Для удаления переменной есть метод DeleteVariable

frxReport1.Variables.DeleteVariable('My Variable 1');

Пример: Для демонстрации описанного, я создал тестовый проект, который можно скачать и посмотреть на GitHub. (При написании проекта использовал Delphi XE4). PS: Есть прекрасная онлайн документация, в которой описаны все манипуляции которые можно произвести для работы с пользовательскими переменными. Да и еще, создавайте переменные после того как отчет загружен, а не до загрузки (просто были прецеденты)  🙂

Добавить комментарий Отменить ответ