Combine multiple reports into one

2017-08-20

This article aims to establish a strategy to combine two or more reports into one by using the code of your application. This can be useful when you want to combine similar reports according to their category.

To append a report to the previous one use the method Prepare of the Report object. It is necessary to provide value TRUE as a parameter of the method.

Let us consider an example.

Create an application WindowsForms. Add a reference to FastReport.dll library to the project.

Then, add three buttons on the form: Report 1, Report 2, Combined report. Next, double click on the first button.

Now we are using the library FastReport:

1
using FastReport;

 Set the report's path:

1
string report_path = @"K:\MyDocuments\";

 Now add the code to the first button:

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();
 }

 Here, we have created a report instance, downloaded the report, prepared it and showed. The report template looks like this:

Now double click on the second button:

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();
 }

 The procedure here is the same as with the first button. A report template is also similar:

Add the code to the third button:     

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();
 }

As you can see, we have created a report object - report1. Then, we loaded the first report and prepared it. After that, we have loaded the second report and prepared it as well. In the last line of the code we have displayed the report object. Bring the line report1.Prepare(true) to notice. As a function parameter we provide the value TRUE. This means that the current report is joined to the previous one. Using this example you can consistently join any number of reports to each other.

Let us start our application:

 

If we click the Report 1 button, we get our first report:

 

 Click the second button to see the second report:

 

And finally, click the third button:

In this case, we get a report of two pages. The first one displays the first report, the second one shows the second report.

As can be seen from the above, the process of combining two reports into a single report does not present any difficulties and troubles.

.NET FastReport
June 22, 2026

How to Configure a Report with Business Objects in Code and the FastReport .NET Designer

This article demonstrates a practical example of creating and using an .frx report template that connects to hierarchical Business Objects in FastReport .NET.
April 28, 2026

New Report Validation System in FastReport VCL

In this article, we'll explain how report validation works, how to set it up, how to write your own rules, and share some interesting new features.
April 21, 2026

Using Watermarks in FastReport VCL

The article provides a detailed overview of the watermark functionality in FastReport VCL — covering both the visual interface and programmatic methods using Delphi code and report scripts.

© 1998-2026 Fast Reports Inc.