tags:

views:

3336

answers:

10

Perhaps I need to define "dynamic generation". By this I mean using graphics primitives to draw on the page (such as DrawText or DrawLine, etc) This is what System.Drawing.Printing provides.

I often need to create forms and reports for Windows applications that either require dynamic generation or where I need control over the formatting that stretches or goes beyond the capabilities of most report designers. Essentially, I need to ability to create my own pages using graphics primitives like you can do with System.Drawing.Printing that are part of package that also provides a report designer, exporting to PDF, etc.

In my Delphi days, I used Rave Reports (along with the exporting add-ons from Gnostice) because it was the only Delphi reporting tool that gave you that kind of fine control.

I've been struggling with the reporting tools provided by Developer Express and I have given up trying to make them do what I need to do. I downloaded a trial of ActiveReports and was able to completely create one of my dynamic reports (using their Page class) in a few hours one afternoon. It's likely I will buy their product, but it's a bit frustrating to have to do so after investing in the Developer Express tools.

Before I do so, are there any other products that offer this functionality that I should investigate? As far as I can tell, Crystal Reports does not - is this correct?

Thanks....

--Bruce

+1  A: 

I use Active Reports and it works well. The one complaint I have is that you can't serialize the report object to send across the wire. It sounds like this isn't a concern for you, so I would recommend it without reservation. The last version of Crystal Reports that I worked with, several years ago, was skewed heavily towards a person manually designing the reports. You might take a look at the Telerik report package too. I haven't tried to create a dynamic report with it, but it is a nice package overall.

Jason
You can serialize easily with ActiveReports. Use the Save method of the Document class. The Document also implements ISerializable so it will work with remoting or webservices.http://www.datadynamics.com/Help/ARNET3/ActiveReports.Viewer3~DataDynamics.ActiveReports.Document.Document~Save.html
scott
+2  A: 

Not sure about Crystal Reports.

I'd consider SQL Reporting Services... i'm not sure that it would satify your exact requirement however the designer is much friendlier than Active Reports. There is also a WinForms control that lets you build and view Reports within a Windows app. It doesn't necessarily require you to be storing you're data in an SQL database, I just think you need to implement a number of interfaces on a custom datasource.

The following link is to a series of 6 webcasts that show you the features of SQL Server 2005 Reporting Services.

http://www.microsoft.com/events/EventDetails.aspx?CMTYSvcSource=MSCOMMedia&Params=~CMTYDataSvcParams^~arg+Name%3d%22ID%22+Value%3d%221032282905%22%2f^~arg+Name%3d%22ProviderID%22+Value%3d%22A6B43178-497C-4225-BA42-DF595171F04C%22%2f^~arg+Name%3d%22lang%22+Value%3d%22en%22%2f^~arg+Name%3d%22cr%22+Value%3d%22US%22%2f^~sParams^~%2fsParams^~%2fCMTYDataSvcParams^

Michael Prewecki
Second that. Active Reports as well but SSRS....
Optimal Solutions
A: 

Take a look at Telerik Reporting. I'm not famililar with such tools, but I think it's worth investigating.

Slavo
A: 

I've used Crystal. It is possible to dynamically create reports using it, but its API is incredibly badly designed and, since version 15, it is abominably slow.

Ant
+3  A: 

I have been using DataDynamics ActiveReports for .NET (AR.NET) for the past few years. I have been satisfied with it using it for a wide variety of tasks from exporting to .pdf, .xls, .txt, and .htm reports from various data sources (Access, SQL, Oracle). As you point out, quality reports can be produced in a single afternoon. Currently, I have 80+ "live" reports in use in 5 web applications on my company's intranet. Also, I appreciate your comment on Developer Express's reporting suite, as I just started evaluating it to replace AR.NET. I will be taking your comments into consideration in that process.

Ronn Reeves
A: 

Active Reports will let you do what you need to do (if I understand your post correctly). Add a picture box in the report designer, and then load the picture box at run time with a dynamically-generated .NET bitmap that you've drawn on using the Graphics namespace.

Active Report 2.0 had a number of weird little gotchas to watch out for (these may not be there any more in version 3.0). The most severe one was a hotfix that broke only on 64-bit servers.

MusiGenesis
A: 

This question is very similar to one asked here:

Reporting Software Recommendations For .Net Environment

I gave an extended answer there covering ceTe's Dynamic PDF, Telerik, DevExpress, Microsoft Reporting Services and Active Reports. Follow the link if you are interested...

Mark Brittingham
+3  A: 

ActiveReports represents each page of the report as with an instance of the Page class in the Pages collection of the Document class. The page class provides methods such as DrawEllipse, DrawLine, DrawRect, DrawText, and more. Since, by using these methods you're drawing in ActiveReports native, optimized format, these vector drawing commands are also exported to any format that ActiveReports exports to.

If I understand your question, this is exactly the functionality your asking for, and I'm pretty sure you will find other products do not provide such comprehensive extensibility at this level. If you need an example of how to use them post on the active support forums and you can probably get a good response. Feel free to let me know and I'll help you too!

scott
A: 

I am also struggling with XtraReport, I am using other component from devx so i thought it is better to use xtrareport. its perfect otherwise if you do not need code based report. code based report need too much , dynamic control creation,data binding etc..

I will be happy to see example with code based report in XtraReports rather that using other reporting tools.

hari
A: 

I reccomend Fastreport.Net of course.Check the reasons here or read a lot here

HERBERTS