Объединение нескольких отчетов в один

20.08.2017

В этой статье я покажу вам как объединить в один отчет два или более в коде вашего приложения. Это может быть полезно, когда вы хотите объединить близкие по тематике отчеты.

Для прикрепления отчета к предыдущему используется метод Prepare объекта Report. Ему необходимо передать значение true в качестве параметра.

Рассмотрим на примере.

Создадим приложение WindowsForms. Добавляем в проект ссылку на библиотеку FastReport.dll.

Добавляем на форму три кнопки: Report 1, Report 2, Combined report. Делаем двойной клик по первой кнопке.

Используем библиотеку FastReport:

1
using FastReport;

 Объявляем переменную для хранения пути к отчетам:

1
string report_path = @"K:\Мои документы\";

 А теперь добавляем код для первой кнопки:

1
2
3
4
5
6
7
 private void button1_Click(object sender, EventArgs e)
 {
 Report report1 = new Report();
 Report1.Load(report_path + "report1.frx");
 Report1.Prepare();
 Report1.ShowPrepared();
 }

 Здесь, мы создали экземпляр объекта отчета, загрузили отчет, подготовили его и отобразили. Шаблон для тестового отчета выглядит так:

Сделаем двойной клик на второй кнопке:

1
2
3
4
5
6
7
 private void button2_Click(object sender, EventArgs e)
 {
 Report report2 = new Report();
 Report2.Load(report_path+"report2.frx");
 Report2.Prepare();
 Report2.ShowPrepared();
 }

 Тут все то же самое, что и с первой кнопкой. Шаблон отчета аналогичный:

Добавляем код для третьей кнопки:

1
2
3
4
5
6
7
8
9
 private void button3_Click(object sender, EventArgs e)
 {
 Report report1 = new Report();
 report1.Load(report_path + "report1.frx");
 report1.Prepare();
 report1.Load(report_path + "report2.frx");
 report1.Prepare(true);
 report1.ShowPrepared();
 }

 Как видите, мы создали объект отчета report1. Затем, мы загрузили первый отчет и построили его. После – загрузили второй отчет и также построили его. В последней строке кода, мы отобразили объект отчета. Обратите внимание на строку report1.Prepare(true). В качестве параметра функции мы передаем значение true. Это значит, что текущий отчет будет присоединен к предыдущему. Причем, вы можете так последовательно соединить сколь угодно много отчетов.

 

А теперь запустим наше приложение:

 

Нажимаем кнопку Report 1. Получаем первый отчет:

 

 

Нажимаем кнопку Report 2. Получаем первый отчет:

 

И, наконец, нажимаем третью кнопку:

В этом случае, мы получили отчет с двумя страницами. Первая – первый отчет, вторая – второй.

Таким образом, объединить два отчета в один не представляет никаких сложностей и избавляет от создания дополнительного объекта отчета. 

20 ноября 2024

Локализация и смена языков в FastReport VCL

FastReport VCL поддерживает 40 языков для локализации интерфейса и позволяет изменять язык на лету через меню или код, без перекомпиляции.
1 ноября 2024

Новые возможности редактора отчетов FastReport VCL

Рассматриваем новые возможности редактора отчетов: выносные линии, подсветка пересекающихся объектов, обновлённые деревья отчетов и данных.
30 октября 2024

Использование стилей при создании отчетов в FastReport VCL

В статье подробно рассматривается одна из новых возможностей FastReport VCL – применение стилей и страниц стилей.