Last post Feb 07, 2012 07:33 PM by N_EvilScott
Feb 07, 2012 11:08 AM|dhineshin|LINK
Am using ssrs 2008 r2 and report viewer in aspx page.
I have a main report which is having sub report. And sub report visibility is based on the row value in main report.(toggle)
That is every row in main report is having a sub report.
Sub report is having a parameter which is got from main report row.
The problem is it is taking huge time to display.
I want to run sub report only when it is visible (ie on toggle "+" sign clicked)
Plz some one explain how to implement on demand processing.
Thanks in advnce.
Feb 07, 2012 07:33 PM|N_EvilScott|LINK
SSRS 2008 and beyond does include a type of On Demand Processing, but what that means is essentially it will not load multiple datasets if it doesn't need them. It only loads what it needs first, however from what you described it is loading a single dataset,
and passing values as a parameter to the Sub report which will be processed because it comes from the initial dataset load.
Sub reports in themselves are very slow. Before you go slicing up code and trying to do advanced things, see if you can simply clean up the report some first. In fact, see if using nested data regions will work for you rather than using Sub reports, this
will cut your loading time DRAMATICALLY. You can find examples of how to do it here:
The only other option that comes to mind if this won't work for you, is to try and mimic a manual on demand solution by using the LocalReports DrillThrough event, but doing so acts as navigation for the ReportViewer, and you would not have a "+" sign to
expand or hide a report section.