How to make a report like Master-Detail

2019-09-04

The variety of electronic documentation sometimes seems to be limitless. However, in practice, not many types of documents are commonly used.

In electronic reporting, the most common type of document is a simple list. Then, there go complex lists. There can be many variations of complex lists, but the main one is a report of the type “Main” - “subordinate”. The essence of this type is that there is a dependency between data entities in a one-to-many scheme. That is, one record in the main table can correspond to several records in the subordinate. In practice, it looks like this:

Entries from the main table contain the name of the categories, their brief description and picture. Each category contains specific products. This example shows only one dependency “Main” - “subordinate”. But the subordinate table can also have its subordinate table, and then it will already be the main one for the second connection. Such hierarchical dependencies can be arbitrarily many. And now in practice, let’s consider how to create such a report.

First of all, we need a data source in which there will be two logically related tables, as in the example shown above.

Add a data source to the report. In our case there will be two related tables:

customer and orders.

In the “Data” window it looks like this:

 

Now we need to link these tables. To do this, click the Actions button in the data window. A drop-down list will open:

 

You need to select the item “New Relation”. In the relation edit form, we need to define the main and subordinate table, as well as the field by which they should be linked:

 

The main table is ‘customer’, its primary key is CustNo. The subordinate table is ‘orders1’, its foreign key CustNo. After successfully creating the connection, we will see it in the data window:

As you can see, a link to customer appeared in the orders1 table. If you open it, we will see all the same fields that are in the customer table.

We have prepared the data, now you need to create a report template.

By default, a single band Data is available in a blank report. Let's add some fields from the customer table: customer.Company, customer.Addr1, customer.Phone, customer.Contact. We will place these fields so that we get a certain company card:

 

Right click on the band header ‘Data’:

 

And select the item “Add detailed data band”. Click on the Configure bands ... link:

And add a header band for the Data2 band. To do this, select the Data2 band with the mouse and click the Add button. In the drop-down list, select Header.

After that, you can add fields from the orders1 table to the detailed “Data” band: orders1.OrderNo, orders1.SaleDate, orders1.AmountPaid. At the same time column headings will be added automatically. Format the headers, and our template is almost ready:

Double-click on the header of the “Data” band:

We select the customer table as a data source. Now let's do the same for the detailed “Data” band:

Now our report is ready to run. Let's see what we got:

.NET .NET FastReport FastReport
21. April 2026

Verwendung von Wasserzeichen in FastReport VCL

Der Artikel hat die FunktionalitĂ€t zum HinzufĂŒgen von Wasserzeichen in FastReport VCL ausfĂŒhrlich behandelt – sowohl ĂŒber die visuelle OberflĂ€che als auch programmgesteuert mit Delphi-Code und in Berichtsskripten.
8. April 2026

Neue Möglichkeiten zur Arbeit mit Bands im FastReport .NET-Designer

In der Version 2026.2 von FastReport .NET bietet nun die Möglichkeit, die Band-Reihenfolge direkt im Designer per Drag & Drop mit der Maus zu Àndern.
7. April 2026

Google Sheets-Plugin in FastReport .NET einbinden

In diesem Artikel erfahren Sie, wie Sie mit Google Sheets in FastReport .NET beginnen. Sie erfahren, wie Sie den API-Zugriff ĂŒber die Google Cloud Console einrichten, das Plug-In erstellen und verbinden.

© 1998-2026 Fast Reports Inc.