Displaying multiple Reports in a single report viewer - vb.net

i want to know is it possible to bind my all crystal reports to a single reportviewer, somewhat in tabbed view or treevie. If tabbed then visible through navigation button.
If yes then how?
any help would be highly appreciated.
Amit Ranjan

Having reviewed the micrososft documentation, it seems you can not bind multiple reports to a viewer. As suggested here:
"Displaying a report using the CrystalReportViewer control
The CrystalReportViewer control displays only one report at a time. Which report is displayed by the control is determined by which report you bind to your code. To tell the control which report to display, you bind the ReportSource property of the control to a particular report. At runtime, the control loads the report that is bound to the ReportSource property and displays it. "
The diocumentation goes on to say you can only bind a report type to the report source.
So, basically you need to build the multi view yourself. In my mind this can be done in two ways.
Create a report viewer for each
report (maybe using a tab control)
Create a single viewer and display
different reports based on what the user
selects in your application. i.e.
I have done something simular in the past, but rather than using the report viewer, i used crystal to export the report to pdf and displayed those to the user.
I hope this is clearer. :-)

Could you not hold your reports in a hierarchical structure in memory , which relates to a visible tree view and displayed the relevant report one at a time as the users selects various nodes..
If you can't pass a colection of reports to your viewer. I would hold a list of reports in a Dictionary or some other kind of list , which has a report and an identifier for that report.
Then display a tree view which represents the reports structure you have, with each node holding the id of the report it represents, when the user selects the a TreeView node, you can look up you report from the dictionary and load it into the report viewer.
I hope that makes sense...

Related

Advanced SSRS report functionality in a Microsoft.WinForms.ReportViewer

Viewing SSRS reports in a Microsoft.WinForms.ReportViewer. Is there a way to get advanced SSRS funtionality (e.g. flyouts / hyperlinks) to work in the report viewer? [The above functions DO work in a Forms.WebBrowser control.]
The two functionalities that I want to implement are as follows:
Report has ACTIONS that cause alternate reports to be run.
SSRS report properties of text box in the tablix
Report behaviour when using older viewer
Report has flyout functionality.
Group properties from the tablix
Report behaviour when using older viewer
The intent of the new viewer is to get some menu functionality into our report viewer that our users are requesting.
Report viewer with e-mail functionality added to forward report(s) to clients
The fundamental problems would appear to be because the ReportViewer control (that is being used in the new previewer) is only allowing a fully rendered document. Is there a way to make it retain the SSRS functionality?

Unable to programatically reference subreport property (EnableExternalImages) from main report

I have what i think is a unique requirement not addressed in other questions. I've developed a local report in Microsoft report designer as an rdlc and am viewing it via the report viewer control. The report contains a subreport. The subreport renders images from external files. The problem is that i need to programmatically set the EnableExternalImages property of the subreport at run time. Without this, the subreport refuses to render ("Error: Subreport could not be shown" is the error message i get). I've set this property on the main/outer report programatically without issue using this statement:
Me.ReportViewer1.LocalReport.EnableExternalImages = True
However i need to do the same on the sub-report...so optimally, i would like to code something like this:
Me.ReportViewer1.LocalReport.Subreport1.EnableExternalImages = True.
Problem is, i don't see a property available that provides me direct access to the subreport's properties in this fashion. I've looked into using the SubreportProcessingEvent, however this event only exposes a limited number of properties of the sub-report (Reportparamaters, Datasources, ReportPath, etc..), but does not provide me with access to all of it's properties (e.g. EnableExternalImages property).
Thanks for any information...

Hide a field/paramater in SSRS

Is it possible to hide a field in a SQL 2008 Report, based on the value of a parameter? I'm leaning towards a custom application and if push comes to shove I'll have do manually code each piece, but I would like to leverage SSRS as much as possible. I've included a screen shot of the report before it is populated. The area in red is what I would like to hide say, =iif(X=1,true,false)
Set up the Expression In Text box Property >> Visibility >> Show or Hide on axpression.
=iif(X=1,true,false)
Hope this help..
Look for the screen shot and more detail click here
using SSRS manager, Parameter field cannot hide programtically. but you can create asp.net webform with SSRS report. MSDN link

JasperReports dynamic input controls

I'm currently trying to create a JasperReport report with some special input control behaviour. My needs are:
four input controls, two of them are dateboxes, the other ones are radio buttons
depending on radio button choice, one of the databoxes should be visible or not
so if option 1 is chosen, show both dateboxes; if option 2 is chosen, show only one datebox
I wonder if there's a "clean" solution - didn't find anything.
Any pointers will be helpful.
The Print when expression is not relevant for input controls on JasperReports Server.
There is no built-in support for hiding and showing an input control based on the value of a different one. The infrastructure for cascading input controls can certainly be extended to achieve this... but it would not be trivial.
The path I would take is to customize the .jsp page that displays the input control. There is a section in the JasperReports Server Ultimate Guide called "Customizing the Input Controls Form" which would get you started down this path.
For datebox part, you can use print when expression to decide whether certain blocks of the report is visible.
For other "input", if you meant some data you want to display inside the report, you can make some Parameter in your report, then set the Parameter from user input before you export the report.

Display reports with non-modal messagebox

Am writing a VB.Net app written in VS2010. This displays some reports in several forms. (Am using Crystal Reports though this is incidental to the problem). The user needs to be able to check these, then confirm if he wishes to run the update process or abort.
My first idea was to ask the user to reply using a messagebox. But of course this is modal, so the user cannot browse through the reports.
I thought of other options but each seems to have problems:
- export the reports as PDFs, then display report in external Adobe Reader Window using System.Diagnostics.Process.Start("AcroRd32.exe", filename). This seems messy.
- create a non-modal message box or equivalent. This loses any concept of program flow, so am unconvinced by this
What ideas do you have please?
You should already be using a form to display the report(s). Put all the reports on the same form with scroll bars enabled and add a button to that form for the user to 'Update Process'.
You may come up with a better display based on how many reports you want the user to look at - like a drop down at the top with list of reports in it OR a radio button list on the left with reports listed etc.