How to Generate a .NET Banded Report in Your Desktop Application
| Quick Start Guide | |
|---|---|
| What You Will Need |
Visual Studio ActiveReports.NET |
| Controls Referenced | |
| Tutorial Concept | Guide developers through creating a banded report in a .NET desktop application by walking step-by-step from report setup to final rendering. The tutorial demonstrates how to define report bands, bind structured data, configure headers and detail sections, and preview the output, providing a repeatable pattern for building clean, data-driven desktop reports. |
When your application needs to present structured, list-driven data, such as invoices, catalogs, logs, or directories, clarity and consistency matter just as much as performance. Banded reports are a natural fit for these scenarios, offering a predictable layout that cleanly separates headers, detail rows, and summaries while remaining easy to maintain as your data grows.
In this post, you’ll learn how to generate a banded report in a .NET desktop application from start to finish. We’ll walk through setting up the report, binding data, configuring bands, and rendering the final output so you can confidently build repeatable, production-ready reports for real-world desktop workflows.
Want to Try it Out? Download ActiveReports.NET Today!
Launch Visual Studio
Let’s create a simple tabular report of our stock inventory grouped by each product category. We’ll use an existing Visual Studio project, though you can create a new one. We’ll right-click our reports directory and select Add > New Item. Select the ActiveReports Section Report (code-based) in the resulting dialog box and enter a report name.

First thing, let's establish a connection to a JSON endpoint. On the Visual Studio 2022 toolbar, go to Extensions > Report > Data Source. Alternatively, you can click on the Data Source icon in the Detail band of the report:

Go to the JSON tab of the Report Data Source dialog box. Type in your connection string and query in the appropriate fields as follows:

If you need help creating your connection string, click on the Build button next to Connection String. Here, you can easily configure your JSON connection. Similarly, if you need help crafting your query, click on the Build button next to JsonPath, which will launch the JSON Query Designer. Once you are all done, click OK.
You should have all your fields from the dataset in your Report Explorer. Let's right-click on Fields>Calculated to add a custom field to our .NET report.

We'll use this custom field to calculate the value of each product. To do so, we'll set the following properties:
- Name: Value
- FieldType: Double
- Formula: =UnitPrice*UnitsInStock
Grouping Data
We want to group the data by CategoryID and aggregate the value of each grouping. Right-click the Details band and select Insert > Group Header/Footer. Click on the Group Header and set the DataField property to CategoryID to group the report on this field. Also, set the BackColor property to WhiteSmoke. Finally, set the KeepTogether property to True. This ensures that the grouping will not be broken across multiple pages whenever possible.
At the top of the Group Header, add two labels ("Category:" and "Category Value:") vertically aligned. Next to each, drag and drop CategoryId and Value from the Fields section of your Report Explorer. The Value textbox will display the total value of the category. Therefore, we need to adjust some properties for this textbox:
- OutputFormat: Currency
- SummaryGroup: GroupHeader1
- SummaryType: SubTotal
Creating the Report Layout
At the bottom of the Group Header, add 4 Labels:
- Product Name
- Stock
- Unit Price
- Value
In the Details band, drag and drop ProductName, UnitsInStock, and UnitPrice from the Bound Fields and Value from the Calculated fields. Adjust the size and position of the text boxes to align with their respective labels in the Group Header. Adjust the height of the Group Header, Detail, and Group Footer. At this point, your report layout will look like this:

Previewing, the sizing looks right now. We also see that the groups are kept together as much as possible.

Download this sample as an RPX file from the link below inventory.rpx. You can learn more about ActiveReports.NET features by visiting our Online Demos.
Banded reports remain one of the most practical and versatile reporting patterns for desktop applications, especially when working with structured or repeating datasets. By understanding how bands interact with data and how to configure them effectively, you can produce reports that are both readable and easily extendable.
With the foundation covered in this tutorial, you’re now well-equipped to tailor banded reports to your application’s needs, whether that means adding grouping logic, summaries, conditional formatting, or export options. From simple lists to complex business documents, banded reports give you a reliable structure to build on as your reporting requirements evolve.
Want to Try it Out? Download ActiveReports.NET Today!