I have an ASP.NET website from which the users themselves will generate custom reports and (possibly) print them. My question is what approach would you recommend (and why):
- Generate the report using reporting software like Microsoft Report Viewer or Crystal Reports.
- Use simple ASP.NET pages and format the page for printing using CSS.
- Generate PDF files using any PDF-generating framework out there and leave the printing to the PDF reader.
- Any other choice?
Do note that the user will have selection controls to generate and filter the report accordingly.
Edit: I am using NHibernate as an ORM and connecting to an Oracle database, so SQL Server specific solutions will not work.
Thanks.
Just use ASP.NET pages.
We made an app at my previous employer that did a very similar thing. We made a view to relate all the available properties for a given application/program/report. The users had a list to select properties from, and then filtered those properties accordingly. Each property type was a separate object with different filterable properties that the ‘manager’ could setup for their users.
After selected what columns they wanted to view/filter, the clicked go, we generated SQL and placed 15/30 results at a time back into a paging gridview.
If they wanted to see more than that they could download an Excel CSV export file.
For large, less filtered queries, we restricted the row return count to something reasonable that wouldn’t time-out.
It isn’t the most elegant, but it was VERY versatile and made almost everyone happy.
To Clarify – this reporting system in and of itself was an app we built (OOP, NHibernate, etc.) to support and simplify this process.