Posted By: trobbins | Jan 2nd, 2006 @ 12:30 PM

Microsoft Visual Studio 2005 includes a report designer functionality and a new set of ReportViewer controls that can be used to build and display reports within custom applications. Reports may contain tabular, aggregated, and even multidimensional data. The ReportViewer controls are used to process and display these reports within applications. There are two versions of the controls. The ReportViewer Web server control is used to host reports in ASP.NET projects. The ReportViewer Windows Forms control is used to host reports in Windows application processing.

Both controls can be configured to run in either local or remote processing mode. How you configure the processing mode effects everything about the reports from design to deployment.

  • Local processing mode refers to report processing that is performed by the ReportViewer control within the client application. All report processing is performed as a local process using data that your application provides. To create the reports used in local processing mode, you use the Report project template in Visual Studio
  • Remote processing mode refers to report processing that is performed by a SQL Server 2005 Reporting Services report server. In remote processing mode, the ReportViewer control is used as a viewer to display a predefined report that is already published on a Reporting Services report server. All processing from data retrieval to report rendering is performed on the report server.

In this Screencast Thom takes a look at how this control can be used to host both server reports and local reports

Rating:
0
0
guercheLE
guercheLE
Luciano Evaristo Guerche
Dear Thom,

I this sample I saw that in Report Builder, reports designed were bound to models and in Visual Studio 2005 reports designed were bound to datasets/datatables. What came to my mind based on your sample is: Is it possible to have reports designed in Report Builder bound to datasets/datatables? Is it possible to have reports designed in Visual Studio 2005 bound to models?
thewizster
thewizster
Life is Good Here in Big D...
Is it possible to build a report based on a dataset that you build in code? I have a dataset that I pull data in from an xml file. In the demo it shows you have to create a data source first. How would you do this if your data is stored in an xml file?

Thanks....
thewizster
thewizster
Life is Good Here in Big D...
Well... After much research I Answered my own question. Maybe this is just so simple it is just obvious to everyone else, but I missed it until about 2am. I finally found a post on asp.net's website showing how to do this on a webform. So for all the others that can't get this like me here is some help:

I had a hard time understanding how to build the report since I could not add my xml file as a data source. What I did was added a new DataSet to my project and used it as my data source. This DataSet is not the actual DataSet I am using in code but they are identical in structure. This made designing the report easy.

After you add the Dataset to your project open up the xsd file that will be created and thne by right clicking in the Dataset Designer window navigate to Add>DataTable. This will add a blank DataTable Object to the designer window.

By right-clicking on the DataTable object you have the option of adding columns to it. Add columns to the DataTable exactly like they are in your DataSet that you have built in code. Also Make sure to rename the DataTable.

This newly created DataSet will now show up in the DataSource window and you can create your report file from it just like the video shows.

I used a report viewer and created a new report. When the report designer window opens there will be a new menu added to vs called 'Report' Clcik it and then click Data Sources. This opens up the Report Data Sources window. Make sure the Report Data Source listed matches the one you created, if not select it and delete it from the list then select your DataSet from the Project Data Sources dropdown and click 'Add to Report'

Now, tying it all together in your code is next.

After you have the Dataset in your app built and load in the data from the xml file (I won't demo that here, there are plenty of places to find out how to do it and it is very simple) I used this code to set the tie in my dataset I created in code to the report viewer.

Me.ReportViewer1.LocalReport.DataSources.Add(New Microsoft.Reporting.WinForms.ReportDataSource("DataSet1_Bills", Me.MyBills.Tables("Bills")))

Me.ReportViewer1.RefreshReport()

DataSet1_Bills is what is listed in the Report Data Source window as discussed above. MyBills is the DataSet I created in code and I just reference the Bills table.

Hope this helps someone else out.

Do you happen to have a video of using the ReportViewer control in local mode in ASP.NET 2.0?  I am trying to setup and run a report locally and I am having some difficulties.  Thanks.

can we have a complete video here?

or is this the complete one.