Avatar of CipherIS
CipherISFlag for United States of America

asked on 

C# Crystal Reports

I've used Crystal Reports with .NET numerous times.  Usually the report is predefined.  However, I have a different requirement now.

I'm using Infragistics Ultragrid to display data.  With this control the user can move columns around and change the sort.  The user can also add grouping with this control by dragging a column to a grouping area.  I have to admit it is a nice feature.

However, the issue is that the requirement is once the user is done moving columns, clicking on the column to sort however they want, possibly adding a grouping they want to print the result with Crystal Reports.

Can this be done dynamically?

Thanks
Crystal ReportsC#.NET Programming

Avatar of undefined
Last Comment
Mike McCracken
Avatar of vasto
vasto
Flag of United States of America image

You can prepare your dataset in the application, use it for the grid and and then use it as also as a datasource in Crystal report. Here is an article explaining how to develop the report and how to set the datasource:
http://www.emoreau.com/Entries/Articles/2006/09/Feeding-Crystal-Reports-from-your-application.aspx

Crystal reports have the ability to sort data dynamically too. If the only requirement is to sort the data you can do this directly in the report. If you want also to filter the data then you need to use the grid and the report. If you change the order of the columns in the grid or add/remove columns, group data etc .  this is not going to be transferred to the Crystal report. The report and the grid will use the same datasources but will have separate layouts.
Avatar of CipherIS
CipherIS
Flag of United States of America image

ASKER

Yes, I use a dataset. I usually use an XSD and pass the dataset to the report.

The solution I'm looking for is:

1.  Report at this time will contain 3 fields with no grouping.
2.  Report at this time will contain 4 fields with one grouping.
3.  Report at this time will contain 4 fields with one grouping.
Etc.

Each an any scenario, when the user clicks on the Print Preview button to display the report accurately.
Avatar of Éric Moreau
Éric Moreau
Flag of Canada image

wouldn't it be easier to just use the print feature of the grid?
Avatar of CipherIS
CipherIS
Flag of United States of America image

ASKER

Is that possible?  

I also need to add a logo, Page # of #, DateTime.  Which is why I was using Crystal Reports.
Avatar of vasto
vasto
Flag of United States of America image

You can create different reports or subreports and run the right one based on the user action. However, very soon you will be in trouble because the users will start asking for new options. It is just not a good idea to use fixed structure as Crystal reports as a preview of dynamic , which is the table. As Eric said, just use the grid preview
Avatar of CipherIS
CipherIS
Flag of United States of America image

ASKER

So, a dynamic report is NOT possible?
Avatar of Éric Moreau
Éric Moreau
Flag of Canada image

nothing is impossible but in the case you want the user to control everything (column order, sort order, grouping, ...), CR is surely not the way to go.

maybe creating a HTML output from your grid would be a nice workaround! have a look at http://emoreau.com/Entries/Articles/2009/04/Using-LINQ-and-XML-Literals-to-transform-a-DataTable-into-a-HTML-table.aspx
Avatar of CipherIS
CipherIS
Flag of United States of America image

ASKER

If grouping is removed and user can only change column order and sort order?
Avatar of Éric Moreau
Éric Moreau
Flag of Canada image

it would be easier but then you will need to deal with column width and formatting and ...

I told you, HTML is surely your best option
Avatar of vasto
vasto
Flag of United States of America image

Crystal is fixed layout, you can add some codding and based on parameters to hide/show fields so for example you can show Customer field as a first , second, third etc.. column . However this will be enormous amount of work for very small benefit. You can use preview from the grid, it will show the data in the same was as it was on the screen.
Avatar of CipherIS
CipherIS
Flag of United States of America image

ASKER

How can I show preview from the grid?
Avatar of Éric Moreau
Éric Moreau
Flag of Canada image

for questions about the Infragistics UltraGrid, your best source will surely be http://www.infragistics.com/community/forums/65.aspx
ASKER CERTIFIED SOLUTION
Avatar of Mike McCracken
Mike McCracken

Blurred text
THIS SOLUTION IS ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
Avatar of CipherIS
CipherIS
Flag of United States of America image

ASKER

@mlmcc - question

So, if I use the parameters - lets say I create 5 of them but only need 3 for one report what will happen with the other 2?  I don't want errors on the report.

Thanks
Avatar of Mike McCracken
Mike McCracken

Depending on the version of Crystal, you could make them all optional.

Another solution would be to pass a "bad" value so the formula results in a blank being displayed.

mlmcc
.NET Programming
.NET Programming

The .NET Framework is not specific to any one programming language; rather, it includes a library of functions that allows developers to rapidly build applications. Several supported languages include C#, VB.NET, C++ or ASP.NET.

137K
Questions
--
Followers
--
Top Experts
Get a personalized solution from industry experts
Ask the experts
Read over 600 more reviews

TRUSTED BY

IBM logoIntel logoMicrosoft logoUbisoft logoSAP logo
Qualcomm logoCitrix Systems logoWorkday logoErnst & Young logo
High performer badgeUsers love us badge
LinkedIn logoFacebook logoX logoInstagram logoTikTok logoYouTube logo