ReportViewer Control in Visual Studio

Microsoft Visual Studio includes report design functionality and ReportViewer controls so that we can add full-featured reports to custom applications.

Reports may contain tabular, aggregated, and multidimensional data. ReportViewer controls are provided so that we can process and display the report in our application.

There are two versions of the control.
  1. The ReportViewer Web server control is used to host reports in ASP.NET projects.
  2. The ReportViewer Windows Forms control is used to host reports in Windows application projects.
Both controls can be configured to run in local processing mode or remote processing mode.
  1. Local processing mode refers to report processing that is performed by the ReportViewer control in the client application. All report processing is performed as a local process using data that your application provides.
  2. Remote processing mode refers to report processing that is performed by a SQL Server 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. To use remote processing mode, you must have a licensed copy of SQL Server Reporting Services.
ReportViewer is a freely redistributable control that enables embedding reports in applications developed using the .NET Framework. Reports are designed with drag-and-drop simplicity using Report Designer included in Visual Studio 2010.

The ReportViewer control offers the following benefits:
  1. Processes data efficiently. The reporting engine built into ReportViewer can perform operations such as filtering, sorting, grouping and aggregation.
  2. Supports a variety of ways in which to present data. You can present data as lists, tables, charts and matrices (also known as crosstabs.)
  3. Adds visual appeal. You can specify fonts, colors, border styles, background images etc to make your report visually appealing.
  4. Enables interactivity in reports. You can have collapsible sections, document map, bookmarks, interactive sorting etc in your report.
  5. Supports conditional formatting. You can embed expressions in the report to change display style dynamically based on data values.
  6. Supports printing and print preview.
  7. Supports export to Excel, Word and PDF formats. (Word export in Visual Studio 2010 and up.)