SQL Server administration and T-SQL development, Web Programming with ASP.NET, HTML5 and Javascript, Windows Phone 8 app development, SAP Smartforms and ABAP Programming, Windows 7, Visual Studio and MS Office software
ASP.NET, VB.NET, Microsoft .NET Framework, Microsoft Visual Studio, Windows Forms, Controls and more Tutorials and Articles for Programmers


How to use ReportViewer Control in Microsoft Visual Studio 2005


Using ReportViewer in your Visual Studio projects, you can create web pages that can run and display Microsoft SQL Server 2005 Reporting Services reports.

First of all, I created a Report Server project. I created this reporting services project by selecting the Report Server Project project type from Business Intelligence Projects.

Report Server Project

I created a Report named Products.rdl in the Report Server Project. The report simply listed information about the product whose id is supplied as a parameter to the report.

The data source of the report is : = "SELECT * FROM Products WHERE ProductId = " & Parameters!ProductId.value

In this report you will see that a parameter named ProductId has been created. I configured the parameter as a Hidden parameter since I do not want it to be displayed in the ReportViewer component.

I'll set the value of the ProductId report parameter by code, and I'll get this value from the user on the web page using a textbox.

Report Parameters





After I have created the sample report Products.rdl and ran it in the preview pane, I deployed the report to the Report Server. For deployment I configured the SQL Server 2005 Reporting Services instance as the TargetServer for the deployment.

The SQL Server 2005 Reporting Services is installed on my local computer as ReportServer$Yukon and I have created a ReportsFolder named KodyazReports as a container for sample reports.

Deployment Properties

I'm attaching the sample Business Intelligence Report project Reports to Sample Reporting Services Report files folder where you can download it from that link.

 

After I have created and deployed the rdl report file to the web server, I created a web site which I have named as ReportsSite. This is a simple ASP.NET web site with only one file the default.aspx. This default page contains the ReportViewer control named ReportViewer1, a textbox in order to enter the parameter named ProductId for the report and a button Button1 to run the report.

page design with reportviewer

On the Click event of the button, I set the ReportViewer1 control properties and use ReportViewer control's methods to display the report Products.

First of all the used namespace for configuring report viewer control for displaying a reporting services report is Microsoft.Reporting.WebForms

From the namespace Microsoft.Reporting.WebForms which is a member of Microsoft.ReportViewer.WebForms, we use the ReportParameter class to set parameters for the report. An array of Microsoft.Reporting.WebForms.ReportParameter is used to pass parameter values to the report which the report viewer is configured for.

The report for the ReportViewer control is defined by the ReportServerUrl and the ReportPath properties of ServerReport or LocalReport. If the report is located on a Report Server the ReportViewer1.ServerReport class is used. But if the report is processed and rendered locally without connecting to a Report Server than the ReportViewer1.LocalReport class is going to be used.


Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

    ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote

    ReportViewer1.ServerReport.ReportServerUrl = New Uri("http://localhost/reportServer$Yukon")
    ReportViewer1.ServerReport.ReportPath = "/KodyazReports/Products"

    Dim params(0) As Microsoft.Reporting.WebForms.ReportParameter

    Dim p As Microsoft.Reporting.WebForms.ReportParameter
    p = New Microsoft.Reporting.WebForms.ReportParameter("ProductId", txtProductId.Text)

    params(0) = p

    ReportViewer1.ServerReport.SetParameters(params)

    ReportViewer1.ServerReport.Refresh()

End Sub

 

Below you can see the Product report is displayed within web form default.aspx after value 7 is supplied as the ProductId parameter and the "Run Report" button is clicked.

ReportViewer in web form

You can see that the Export to other formats functionality is still available and can be used by users on the web.



Visual Studio


Copyright © 2004 - 2021 Eralper YILMAZ. All rights reserved.