В этой статье я покажу вам как объединить в один отчет два или более в коде вашего приложения. Это может быть полезно, когда вы хотите объединить близкие по тематике отчеты.
Для прикрепления отчета к предыдущему используется метод 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. Получаем первый отчет:
И, наконец, нажимаем третью кнопку:
В этом случае, мы получили отчет с двумя страницами. Первая – первый отчет, вторая – второй.
Таким образом, объединить два отчета в один не представляет никаких сложностей и избавляет от создания дополнительного объекта отчета.