Michael Aguilar
Michael Aguilar

Reputation: 856

Recommendation for report in asp.net

I'm developing a system in asp.net (webforms) where the users can log in and see their reports. I was using RDL from my reports, but now I wanna use another technology when reports be more dynamics, just like this:

http://ap.demo.qlikview.com/QvAJAXZfc/opendoc.htm?document=qvdocs/Plant%20Operations.qvw&host=Demo11&anonymous=true

But I need a free tech and this have to work with my project in asp.net. What could I use?

Upvotes: 1

Views: 517

Answers (3)

Andy
Andy

Reputation: 424

First, pick the reporting engine you want to use... Crystal Reports, DevExpress Reporting, Telerik Reporting, ComponentOne ActiveReports are the main players outside of Microsoft's SSRS. Base your decision on which tool you want to "marry", because creating reports can be a pain or it can be easy, depending on which tool you pick for the job.

Once you have that, pick the server software that works for your situation. There are several choices for Crystal servers (including SAP Crystal Server, VersaReports ReportServer, etc.), only a few choices for the other engines.

Upvotes: 0

Dai
Dai

Reputation: 155658

I've toyed with reporting systems like Crystal Reports or SQL Reports, and found them to have a learning curve, but also be rigid and inflexible, or generate horrid HTML.

ASP.NET MVC can be used as a great reporting system, here's how:

  1. Optionally use a VirtualPathProvider to allow you to store your MVC .aspx files in a database.
  2. Have a Controller class with an action "GenerateReport" that only creates an EF Context / Repository object or even a raw database connection and passes that as an object to the view, there is no other model.
  3. Break the rules of MVC "no data-access logic in the view"! Your view (in the .aspx file) should have a <% %> area that does all of the report-generation logic by running queries and stuff.
  4. For graphs and charts and stuff, use a RESTful chart generation library, you can also write your own. This basically means that instead of the report generating a static image file and storing it somewhere and putting the path in an <img src=""> element, it instead does this: <img src="RestfulImage.ashx?line1={1.2,4.6,8...." />. Google actually has a service you can use: https://developers.google.com/chart/image/docs/making_charts

So each report is an .aspx file that is given a data-access object it then queries directly and generates reports itself. Obviously this does not work well for reports that take a long time to build (but that's usually a symptom of bad DB design or a lack of indexes), but if your requirements are simple (i.e. a bunch of SQL SELECT queries rendered to <table> and some charts to go along with) then this approach works great.

Upvotes: 1

Matthew Sarmiento
Matthew Sarmiento

Reputation: 75

You can use SAP CRYSTAL REPORTS for your reports.

Upvotes: 0

Related Questions