views:

252

answers:

5

What good components and packages are available for generating HTML reports based on report definitions? I have a truly horrific project where each report is a dedicated aspx page that builds one fantastically big HTML string, which it then assigns to a 'reportBody' Label control.

Standard grids are not a good solution as they provide no grouping capability, but I'm open to buying a grid that is friendly for grouping, printing, and exporting. FYI is one reporting engine option I'll be looking at. What else is there? SSRS may not be an option, as MSSQL may not even be an option.

BTW, this is an ASP.NET web site.

+2  A: 

You can try ActiveReports.net

Danimal
Ouch - the price!
ProfK
+1  A: 

you can still use RDLC reports, and just build them in local mode (no SQL SERVER required). I routinely feed my RDLC reports data from the results of function calls rather than have them intimately tied to the database.

Stephen Wrighton
+1  A: 

You can use i-net Crystal-Clear. It has many different output formats like HTML, PDF, Postscript, etc. It can printing and of course it support grouping. It is platform independent. You can it also use together with your ASP.NET. It support many different database like MS SQL, Oracle, MySQL, etc. But also other data sources are possible. The report template designer can be use very easy.

Horcrux7
It looks great, but it's all Java :-( I'm looking for a .NET solution.
ProfK
A: 

The DevExpress ASPxGridView has proven to be an excellent tool for this job.

ProfK
A: 

Standard grids are not a good solution as they provide no grouping capability

If you want to create your own, I can give you some advice. First, you could probably create the groups with ROLLUP or COMPUTE statements or similar in your SQL and use a grid.

I went the following route: reports are data-driven, so that I know which columns can be grouped and which ones need totals computed. I use a standard DataGrid, and in the ItemDataBound event, I keep a running total for any columns that require it, and then detect changes in the group column. When detected, I insert a group total, reset the running totals and insert out a new group header.

I did a quick prototype of this in a day. But by the time you work out all the little details to give the reports all the features they need, and make them look just right, you'll spend quite a bit of time and end up with a small mountain of code.

MikeW
That's why the $299 without source for the DevExpress product is worth so much. It has AJAX drag-n-drop grouping out of the box, and the same for filtering. The first thirty hours of my _first_ project with the grid has already even covered the $399 with source version.
ProfK