I have a report that is taking about 10 minutes to load when opened through the application, but only 2 seconds when opened through VS 2008. There are many other reports which all work fine and I don’t know what could be different about this one.
In the application, all of the code to load and setup the report runs fine but when I launch the form that has the viewer on it it displays the form, but hangs for several minutes before the report comes up. It’s clear that it’s not the query itself that is the problem since it only takes a second to run in VS, and all that is on the form is just the viewer.
After setting up my report into a variable named rDoc, I run the following code:
CrystalReportViewerForm frm = new CrystalReportViewerForm();
frm.CrystalReportViewer.ReportSource = rDoc;
Application.Run(frm);
CrystalReportViewerForm has the viewer control on it, and a public property called CrystalReportViewer that exposes the viewer so the calling code can set the ReportSource before opening the form, as you can see in the code. That is literally all the form consists of. When Application.Run(frm); is run it shows the form and viewer, but the report doesn’t load for about 10 minutes.
If anyone else has run into this and solved it please let me know what you did!!
Thanks!
I’ll go ahead and post the way I fixed it here in case it helps anyone, but I’d still like to hear if anyone else knows what the problem actually is…
My report was using the built in features of CR to select tables with data expert. I got rid of all the tables and added a command with the sql needed to get the data. This solution would obviously be faster because it doesn’t return as much data and the processing is all done in SQL. However, it worked fine the way it was when run through VS so I know that’s not the whole of the problem. At least it works now though.