How to create master detail report using a list in Report Designer?
In some scenarios, your data source contains master-detail relationship and you prefer to create a single report to show the mater-detail result.
To achieve this, create a query that combines multiple tables and returns a single data set containing both master and detail records.
Let us look at the procedures to create a list report item with a detail group that displays the master-detail relationship.
As a first step, open the Bold Report Designer.
Connect to the data source using this documentation link.
Connect to the dataset using this documentation link.
The
ProductCatalog
dataset is created using the following query.```csharp SELECT top 60 PS.Name AS ProdSubCat, PM.Name AS ProdModel, PC.Name AS ProdCat, PD.Description, PP.LargePhoto,P.Name AS ProdName,P.ProductNumber, P.Color, P.Size, P.Weight, P.StandardCost,P.Style,P.Class, P.ListPrice FROM Production.Product P INNER JOIN Production.ProductSubcategory PS INNER JOIN Production.ProductCategory PC ON PS.ProductCategoryID = PC.ProductCategoryID ON P.ProductSubcategoryID = PS.ProductSubcategoryID INNER JOIN Production.ProductProductPhoto PPP ON P.ProductID = PPP.ProductID INNER JOIN Production.ProductPhoto PP ON PPP.ProductPhotoID = PP.ProductPhotoID LEFT OUTER JOIN Production.ProductDescription PD INNER JOIN Production.ProductModel PM INNER JOIN Production.ProductModelProductDescriptionCulture PMPDCL ON PM.ProductModelID = PMPDCL.ProductModelID ON PD.ProductDescriptionID = PMPDCL.ProductDescriptionID ON P.ProductModelID = PM.ProductModelID WHERE (PMPDCL.CultureID = 'en') ```
Drag the table report item and configure the field as shown in the following image.
Drag the list report item and set the dataset name to the
Dataset
property in the properties panel.Add groups to the list to display the data as shown in the following image.
Cut the detail table from body and paste inside the list as shown in the following image.
Click on the Preview at the top-right corner of the Report Designer toolbar to see the output result.