How to add footers to NRapid reports

Grouping data it's really cool feature, that help us out to provide some sort of data visualization enhancement, it makes the report easy on the eyes and allows to the users  to figure out what’s going on without going into much detail. But usually, that it’s not enough, along with grouping, we'll also need to provide some additional info, such as the day takes, month takes, etc, etc… to complement the grouping functionality and make the report really useful.

This time I going to work with products and categories, I’m going to build a report to show units in stock for each product on each category in our database and add a footer to show the units per category (this is the sum of the units per product for a given category).

In a previous post I’ve shown you how to create reports and group data, so I’ll going to skip those steps here and concentrate in the footer section.
The code you will see below must be place inside the configure report method (also covered in previous posts)

Basically we’re telling to the report engine to go on each category change and execute the specified method, whatever the method returns, it’s going to go into the report right before the next category group.

As we can do with links, it’s also possible to specify callbacks for grouping functions. Those callbacks will be invoked automatically by the report engine at the appropriate time and we will be able to handle that event, so to speak.

The code may look something like this:

* It’s also possible to work with an in-memory data table instead of go a lot of times to the database, but for the sake of simplicity I’m going to leave the code just like that.

When you execute the report, you should get something like this:

You can get the source code of NRapid from here
And the sample app from here
The Northwind database is available from download at


Popular posts from this blog

How to create MS Word documents from Office templates using C#

Printing html using the embedded web browser control

WinForms, paging the DataGridView the right way