Solved

Crystal Reports and .Net Caching (aka: Resetting Reports, Invalid Group Number)

Posted on 2004-03-22
5
1,417 Views
Last Modified: 2007-12-19
All,

I've inherited a project that uses VB.Net (and the CR viewer) to display reports in a web app. The web form is comprised of 3 dropdown list boxes and corresponding labels, 1 button, and the report viewer. The idea is to select a report from the first list box, select parameters from the other list boxes if applicable, and "Generate Report" with the button.

The generated report appears to be cached and on subsequent "Generate Report" calls, the called report does not reset its parameters. Through debugging I've verified that the web form is passing in the correct values to the SetParameterValue call (example below), however using the SQL Profiler, the SPs are not being called with the correct parameters. The "stale" report also causes a secondary issue: some of the reports have drill downs while others do not. If you drill down in one report, then switch to a report without drilldowns, the following error is thrown: "Invalid Group Number". The drilled down group number is still being saved from the previous report.

Some things I attempted:
- Converted the reports to strongly typed reports (added them to project) instead of just passing in the report path to the ReportDocument.Load method in an attempt to not allow caching. [This resulted in no differnece.]
- Changed setting parameter values from index based to name based. Example:
    - ReportDocument.SetParameterValue(0, Me.drpDownBox.SelectedValue) ...is now...
    - ReportDocument.SetParameterValue("@ParameterOne", Me.drpDownBox.SelectedValue)
- I've tried various reset type methods from multiple objects ... none of which made any difference to the output.

I must be looking for answers in the wrong spot, for this seems to be a simple issue that should be able to be resolved fairly easily. Yet, I have spent at least 24 business hours attempting to find a solution. I've looked over a bunch of sample code, read numerous articles, and rewritten portions of the code multiple times. Any support (even direction pointing) will be greatly appreciated.

Thanks, Heath
0
Comment
Question by:hagolub
  • 2
5 Comments
 
LVL 4

Expert Comment

by:stasau
ID: 10652911
Have you tried using Response.Expires = 0 to force the page to not cache?

0
 

Author Comment

by:hagolub
ID: 10652945
I tried ...

OutputCache Duration="1" VaryByParam="none"

without any affect. I will see if the other response values work. Thanks.
0
 

Author Comment

by:hagolub
ID: 10653731
Doh. Setting the ReportViewers enableviewstate property to false (ReportViewer.EnableViewState = False) solved the problem. Having been frustrated with Crystal Reports, I incorrectly assumed that the problem was a Crystal implementation and not a .Net problem. Thanks for any suggestions submitted.
0
 

Accepted Solution

by:
PashaMod earned 0 total points
ID: 10694379
Closed, 500 points refunded.
PashaMod
Community Support Moderator
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

There have always been a lot of questions related to when Crystal Reports evaluates report components (such as formulas, summaries, cross-tabs, charts, to name a few examples). Crystal Reports uses a two-pass reporting process to provide greater …
Hello everyone, Hope you find this as helpful as we did. We have on the company I work for an application built in Delphi V with Crystal Reports 8. We all know that Crystal & Delphi can be temperamental sometimes and the worst thing is, nearly…
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

914 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now