views:

290

answers:

3

I'm not entirely sure what is the best approach to this problem, so hopefully you guys can help me out.

I have a lot of data that needs to be formatted in a manner which is yet to be determined (I'm thinking many tables will be needed to display this data properly) and printed out to a printer. My first idea was to create a new form and populate this form with controls and images in a manner that would look nice when printed. I would then call some magic function to go through and print everything laid out on the form to a printer. I would like this to happen all behind the scenes.

I've then stumbled across a bunch of software packages out there are specially designed for this and a more extensive tasks.

In your opinion, which route should I go?

--Edit-- From some of the responses, it looks like I should go the reporting software route. The only immediate issue I see is that none of these options offer the ease of really customizing your output like placing winform controls onto a form. :(

A: 

Why would you want to go the form printing approach? That's so dated.

What's wrong with the native printing classes of .Net? I've used them for some pretty extensive printing jobs till now and there has been no problem.

For one of my software I created a XML file that held the schema for the print-job. It was quite convenient and anytime I needed to change any element I could modify the xml.

Cyril Gupta
Could you point me in the direction of some good tutorials/examples of these so called "printing classes"?
Nick
A: 

Take a look at SQL Server Reporting Services, specifically the Windows Forms ReportViewer control and RDLC report definitions.

tomfanning
+1  A: 

just wondering ... why don't, if you're using C#, not use the Crystal Reports function.

That covers not only basic reports as well really big ones, cross pages, header/footers, etc etc etc ...

give it a try

balexandre