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.
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.
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 http://www.microsoft.com/en-us/download/details.aspx?id=23654
Comments
Post a Comment