Setting ReportSource to Report Viewers Overview
To display a report in a Report Viewer, you must specify the Report Source object. This document explains how to specify a Report Source for each of the following Report Viewer types:
- Report Viewer controls that work with the Telerik Reporting Engine - for example, WinForms, WPF, and the obsolete ASP.NET WebForms Report Viewer controls;
- Report Viewers that operate via the Telerik Reporting Services - for example, HTML5, HTML5 ASP.NET MVC, HTML5 ASP.NET WebForms, WinForms, and WPF Report Viewers;
- Report Viewer controls that are integrated with Telerik Report Server - for example, HTML5, HTML5 ASP.NET MVC, HTML5 ASP.NET WebForms Report Viewers, WinForms and WPF Report Viewer controls.
We use Report Viewers to load reports that are already processed and rendered server-side. To request a report to be processed and rendered, you must wrap it in a Report Source object. The report's rendering format and the settings of the Report Source vary depending on the type of the Report Viewer. Before describing how to set up each of the three Report Viewer types, let's explain the defference between the two main Report Source types.
Server-Side ReportSource vs. Client-Side reportSource
The Telerik Reporting Engine accepts only Server-Side ReportSources. The Server-Side ReportSource contains an instance of the report definition (InstanceReportSource), or an information on where to find the report definition and how to instantiate it (TypeReportSource, UriReportSource, XmlReportSource). For example, the TypeReportSource references a CLR (CSharp or VB.NET) class that would be instantiated with reflection from its assembly qualified name provided through the property TypeName.
The Client-Side reportSource contains only a string identifying the report definition. For example, the reportSource of the Html5 Report Viewer exposes the report
property as a report definition identifier. It cannot be passed directly to the Reporting engine as the latter doesn't know how to create a report instance from this string. The identifier gets resolved to a server-side ReportSource in the Resolve
method of the ReportSource Resolver of the Telerik Reporting REST Service that the viewer utilizing client-side reportSources requires.
The Report Parameter values in both server-side and client-sider Report Source are Dictionary with a string key and object value.
Set up Report Viewer controls that work with Telerik Reporting Engine
These are viewers that operate on the same machine where reports are processed rendered. These viewers include mechanisms for resolving reports:
- WindowsForms Report Viewer control : reports are processed and rendered on the local machine, unless the viewer uses integration with remote Reporting REST service or Telerik Report Server (Report Viewer controls integrated with Telerik Report Server);
- WPF Report Viewer control : reports are processed and rendered on the local machine, unless the viewer uses integration with remote Reporting REST service or Telerik Report Server (Report Viewer controls integrated with Telerik Report Server);
- WinUI Report Viewer control : reports are processed and rendered on the local machine, unless the viewer uses integration with remote Reporting REST service or Telerik Report Server (Report Viewer controls integrated with Telerik Report Server);
- ASP.NET WebForms Report Viewer control : reports are processed and rendered on the server machine where the Report Viewer is hosted.
Each of these viewer controls has a ReportSource property of type Telerik.Reporting.ReportSource, which can be set to an instance of one of the available Report Sources.
The specified report is processed locally on the same machine where the Report Viewer control is running.
-
Set the Report Source through the Visual Studio Designer
- In VS Design view, right-click a report viewer to which you want to set a report source and select Properties.
- In its Properties, find and click ReportSource.
- A "Load a Report from" dialog appears which allows you to select a ReportSource.
- Select the type of the report source you would use and specify a report. For this example, we would use a UriReportSource, click 'URL or file' option and select the report that would be shown in the viewer. If you have to specify parameters for the report, continue with the next step.
- Click Edit Parameters button - Edit Parameters dialog appears. Click New. In the Parameter Name column select the name of a report parameter in the report. In the Parameter Value, type or select the value to pass to the parameter in the report.
Set the Report Source programmatically
var uriReportSource = new Telerik.Reporting.UriReportSource();
// Specifying an URL or a file path
uriReportSource.Uri = "SampleReport.trdp";
// Adding the initial parameter values
uriReportSource.Parameters.Add(new Telerik.Reporting.Parameter("OrderNumber", "SO43659"));
Dim uriReportSource As New Telerik.Reporting.UriReportSource()
' Specifying an URL or a file path
uriReportSource.Uri = "SampleReport.trdp"
' Adding the initial parameter values
uriReportSource.Parameters.Add(New Telerik.Reporting.Parameter("OrderNumber", "SO43659"))
Set up Report Viewers that operate via Telerik Reporting Services
The following Report Viewers are designed to work as clients of Telerik Reporting Services:
- HTML5 Report Viewer (go to section HTML5 Viewer)
- Angular Report Viewer (go to section Angular Viewer)
- React Report Viewer (go to section React Viewer)
- Blazor Report Viewer (go to section Blazor Viewer)
- Native Blazor Report Viewer (go to section Native Blazor Viewer)
- HTML5 ASP.NET MVC Report Viewer (go to section MVC Viewer)
- HTML5 ASP.NET WebForms Report Viewer (go to section WebForms Viewer)
- WinForms Report Viewer (go to section WinForms Viewer)
- WPF Report Viewer (go to section WPF Viewer)
- WinUI Report Viewer (go to section WinUI Viewer)
These Report Viewers do not have direct access to Telerik Reporting Engine. Reports are processed and rendered on a remote machine, and the content is delivered to the client by the corresponding Telerik Reporting Service.
How this works:
- The Report Viewer has a client-side ReportSource that describes the report we want to display (report description string and client parameters). The report description string 's content must consider technology limitations in the size of sent messages and in the used characters. The client parameters must match by names (case sensitive) the report parameters;
-
The Report Viewer (as a client) sends the report description string to the server, where the content is handled by the corresponding Telerik Reporting Service's Report Source Resolver. The purpose of the resolver is to create a valid server-side Report Source.
The default resolvers used by Telerik Reporting Services can produce TypeReportSource and UriReportSource on the server (Report Sources). Each Telerik Reporting Service provides mechanism for plugging a custom report source resolver allowing you to create and return any of the available Report Sources (see the links at the bottom of the article). The reports' assembly or TRDX|TRDP files must be accessible on the server where the Reporting Service and Telerik Reporting Engine are running.
The Report Viewer (as a client) sends the client parameters to the server. The Reporting Service applies the values to the server-side Report Source's Parameters collection that is generated in memory.
-
After the Reporting Service resolves the report description string and client parameters, the Reporting Engine processes the document on the server. Finally, the Reporting Service returns the following:
- Information about Visible parameters - the Report Viewer displays its Parameters Area and corresponding parameters editors;
- The processed and rendered report - the rendering format depends on the viewer e.g. XAML for WPF Report Viewers and HTML for the HTML5 Viewer, or on the operation - export/print;
- Information about Document Map - the Report Viewer displays its DocumentMap Area.
Setting the Client-Side ReportSource:
HTML5 Report Viewer
The HTML5 Report Viewer control is a client-side widget that has a client-side reportSource. The reportSource.report part is a string - the report description string that can be a path to a TRDP or TRDX file, an assembly qualified name of a report class, or other custom information set via string. For example:
reportSource: {
report: "Product Catalog.trdp",
parameters: { CultureID: "en" }
}
or
reportSource: {
report: "Telerik.Reporting.Examples.CSharp.ProductCatalog, CSharp.ReportLibrary",
parameters: { CultureID: "en" }
}
The report description string is sent to the Telerik Reporting REST service which internally resolves it to a TypeReportSource or a UriReportSource on the machine where the service and Telerik Reporting Engine are running. The reportSource.parameters part is a collection of key-value pairs - the client parameters. Report parameters' values can be sent through the viewer's Parameters Area or on creating the HTML5 Viewer object in JavaScript. To display another report or to update the client parameters ' values of the current HTML5 Viewer object, you can update the HTML5 Viewer's reportSource by using the viewer object's reportSource(rs) method in JavaScript. Or you can recreate the HTML5 Report Viewer.
The HTML5 Report Viewer works only with (UriReportSource and TypeReportSource). If you need an InstanceReportSource or XmlReportSource, you will have to resolve manually the report description string via custom resolver for the Reporting REST service. For more details, check REST Service Report Source Resolver (available only if using a Telerik Reporting REST service instance).
Angular Report Viewer
The Angular Report Viewer control is an Angular wrapper of the HTML5 Viewer. It works in the same way as the pure HTML5 Report Viewer and requires jQuery. It exposes identical client-side reportSource. For example:
<tr-viewer #viewer1
...
[reportSource]="{
report: 'Product Catalog.trdp',
parameters: { CultureID: 'en' }
}"
...>
</tr-viewer>
or
<tr-viewer #viewer1
...
[reportSource]="{
report: 'Telerik.Reporting.Examples.CSharp.ProductCatalog, CSharp.ReportLibrary',
parameters: { CultureID: 'en' }
}"
...>
</tr-viewer>
React Report Viewer
The React Report Viewer control is a React wrapper of the HTML5 Viewer. It works in the same way as the pure HTML5 Report Viewer and requires jQuery. It exposes identical client-side reportSource. For example:
<TelerikReportViewer
...
reportSource={{
report: 'Product Catalog.trdp',
parameters: { CultureID: 'en' }
}}
... />
or
<TelerikReportViewer
...
reportSource={{
report: 'Telerik.Reporting.Examples.CSharp.ProductCatalog, CSharp.ReportLibrary',
parameters: { CultureID: 'en' }
}}
... />
Blazor Report Viewer
The Blazor Report Viewer control is a Blazor wrapper of the HTML5 Viewer. It works in the same way as the pure HTML5 Report Viewer and requires jQuery. It exposes identical client-side reportSource through the model ReportSourceOptions
:
<ReportViewer ViewerId="rv1"
...
ReportSource="@(new ReportSourceOptions
{
Report = "Product Line Sales.trdp",
//or "Telerik.Reporting.Examples.CSharp.ProductLineSales, CSharp.ReportLibrary",
Parameters = new Dictionary<string, object>
{
{ "ProductCategory", "Clothing" },
{ "ProductSubcategory", new [] { "Caps", "Gloves" } }
}
})"
.../>
Native Blazor Report Viewer
The Native Blazor Report Viewer control is a native Blazor widget built on top of Telerik UI for Blazor components. It's ReportSource is defined through the same ReportSourceOptions
model as the Blazor wrapper of the HTML5 Viewer:
<ReportViewer
...
@bind-ReportSource="@ReportSource"
...>
</ReportViewer>
@code {
...
public ReportSourceOptions ReportSource { get; set; } =
new ReportSourceOptions(
"Product Line Sales.trdp",
//or "Telerik.Reporting.Examples.CSharp.ProductLineSales, CSharp.ReportLibrary",
new Dictionary<string, object>
{
{ "ProductCategory", "Clothing" },
{ "ProductSubcategory", new [] { "Caps", "Gloves" } }
});
}
HTML5 ASP.NET MVC Report Viewer
The HTML5 ASP.NET MVC Report Viewer control is an MVC wrapper of the HTML5 Viewer that renders a string on the page. The string contains the HTML elements and the JavaScript methods required for initializing the HTML5 Viewer JavaScript widget. The HTML5 ASP.NET MVC Viewer has a ReportSource method, creating a client-side report source via server-side code (C# or VB.NET):
-
ReportSource(UriReportSource uriReportSource)
- the report description string is obtained from the UriReportSource.Uri property, and the client parameters from the UriReportSource.Parameters collection. -
ReportSource(TypeReportSource typeReportSource)
- the report description string is obtained from the TypeReportSource.TypeName property, and the client parameters from the TypeReportSource.Parameters collection. -
ReportSource(string report)
- The report description string is obtained from the ReportSource method's string report argument. No client parameters can be set. -
ReportSource(string report, IDictionary<string, object> parameters)
- The report description string is obtained from the ReportSource method's string report argument. The client parameters can be set through the ReportSource method's IDictionary parameters argument.
Example:
@{
var typeReportSource = new TypeReportSource() { TypeName = typeof(Invoice).AssemblyQualifiedName };
typeReportSource.Parameters.Add("OrderNumber", Model.SelectedInvoice);
}
@(
Html.TelerikReporting().ReportViewer()
.Id("reportViewer1")
.ServiceUrl("/api/reports/")
.TemplateUrl("/ReportViewer/templates/telerikReportViewerTemplate.html")
.ReportSource(typeReportSource)
.ViewMode(ViewMode.Interactive)
.ScaleMode(ScaleMode.Specific)
.Scale(1.0)
)
@Code
Dim typeReportSource = New TypeReportSource() With {.TypeName = GetType(Invoice).AssemblyQualifiedName}
typeReportSource.Parameters.Add("OrderNumber", Model.SelectedInvoice)
Html.TelerikReporting().ReportViewer() _
.Id("reportViewer1") _
.ServiceUrl("/api/reports/") _
.TemplateUrl("/ReportViewer/templates/telerikReportViewerTemplate.html") _
.ReportSource(typeReportSource) _
.ViewMode(ViewMode.Interactive) _
.ScaleMode(ScaleMode.Specific) _
.Scale(1.0)
End Code
To display another report or to update the client parameters ' values of the current HTML5 Viewer object, you can update the HTML5 Viewer's reportSource by using the viewer object's reportSource(rs) method in JavaScript. Or you can recreate the HTML5 ASP.NET MVC Report Viewer.
The HTML5 ASP.NET MVC Report Viewer works only with (UriReportSource and TypeReportSource). If you need an InstanceReportSource or XmlReportSource, you will have to resolve manually the report description string via custom resolver for the Reporting REST service. For more details, check REST Service Report Source Resolver (available only if using a Telerik Reporting REST service instance).
HTML5 ASP.NET WebForms Report Viewer
The HTML5 ASP.NET WebForms Report Viewer control is a server-side wrapper of the HTML5 Viewer, suitable for ASP.NET WebForms applications. The control renders the HTML elements and the JavaScript methods required for initializing the HTML5 Viewer JavaScript widget. The ReportSource property of the HTML5 ASP.NET WebForms Report Viewer control is of type Telerik.ReportViewer.Html5.WebForms.ReportSource:
- The report description string is obtained from the Telerik.ReportViewer.Html5.WebForms.ReportSource.Identifier property, which accepts a string. The string can be a path to a TRDP or TRDX file, an assembly qualified name of a report class or custom information provided in a string. For example:(Identifier="./DashboardReport.trdp") or (Identifier="Telerik.Reporting.Examples.CSharp.BarcodesReport, CSharp.ReportLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null").
- Report parameters' values are obtained from the ReportSource.Parameters property - the client parameters.
- The Telerik.ReportViewer.Html5.WebForms.ReportSource.IdentifierType property hints which resolver can be used for resolving the report description string on the server.
Example of setting the client-side ReportSource in code-behind:
var clientReportSource = new Telerik.ReportViewer.Html5.WebForms.ReportSource();
clientReportSource.IdentifierType = IdentifierType.TypeReportSource;
clientReportSource.Identifier = typeof(ReportCatalog).AssemblyQualifiedName;//or <namespace>.<class>, <assembly> e.g. "MyReports.Report1, MyReportsLibrary"
clientReportSource.Parameters.Add("Parameter1", 123);
reportViewer1.ReportSource = clientReportSource;
Dim clientReportSource As New Telerik.ReportViewer.Html5.WebForms.ReportSource
clientReportSource.IdentifierType = Telerik.ReportViewer.Html5.WebForms.IdentifierType.TypeReportSource
clientReportSource.Identifier = GetType(ReportCatalog).AssemblyQualifiedName 'or <namespace>.<class>, <assembly> e.g. "MyReports.Report1, MyReportsLibrary"
clientReportSource.Parameters.Add("Parameter1", 123)
reportViewer1.ReportSource = clientReportSource
Example of setting the client-side ReportSource via mark-up:
- Open the ASPX with the HTML5 WebForms Report Viewer.
- Select the HTML5 WebForms Report Viewer and navigate to its Reportsource property in Visual Studio Property grid.
- A "Load a Report from" dialog appears which allows you to select a ReportSource.
- Select the type of the report source you would use and specify a report. For this example we will use a TypeReportSource, click 'Type name' option and select the report that would be shown in the viewer. If you have to specify parameters for the report, continue with the next step
- Click Edit Parameters button - Edit Parameters dialog appears. Click New. In the Parameter Name column select the name of a report parameter in the report. In the Parameter Value, type or select the value to pass to the parameter in the report.
<form runat="server">
<telerik:ReportViewer Width="" Height=""
ID="reportViewer1"
runat="server">
<ReportSource
IdentifierType="TypeReportSource"
Identifier="Telerik.Reporting.Examples.CSharp.ReportCatalog, CSharp.ReportLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null">
<Parameters>
<telerik:Parameter Name="Parameter1" Value="123" />
</Parameters>
</ReportSource>
</telerik:ReportViewer>
</form>
To display another report or to update the client parameters ' values of the current HTML5 Viewer object, you can update the HTML5 Viewer's reportSource by using the viewer object's reportSource(rs) method in JavaScript. Or you can recreate the HTML5 WebForms Report Viewer.
The HTML5 WebForms Report Viewer works only with (UriReportSource and TypeReportSource). If you need an InstanceReportSource or XmlReportSource, you will have to resolve manually the report description string via custom resolver for the Reporting REST service. For more details, check REST Service Report Source Resolver (available only if using a Telerik Reporting REST service instance).
WinForms Report Viewer
The WinForms Report Viewer control can be connected to a Telerik Reporting REST Service or Telerik Report Server by setting its ReportEngineConnection property - How To: Construct a string to connect to Report Engine. For more details check How To: Use Windows Forms Report Viewer with Report Server (REST Service). In this scenario, the viewer's ReportSource property of type Telerik.Reporting.ReportSource is considered as a client-side ReportSource. The client report source can be set in the same way as if the viewer is operating locally (go to section Set up Report Viewer controls that work with Telerik Reporting Engine), where the selection is limited to TypeReportSource and UriReportSource:
-
The report description string is obtained from the TypeReportSource.TypeName|UriReportSource.Uri property that returns a string. The report description string is sent to the Telerik Reporting REST service, which internally resolves it to a TypeReportSource or a UriReportSource on the machine where the service and Telerik Reporting Engine are running.
If you need an InstanceReportSource or XmlReportSource, you will have to send custom string as report description string, and to resolve manually the report description string via custom resolver for the Reporting REST service. For more details, check REST Service Report Source Resolver (available only if using a Telerik Reporting REST service instance).
Report parameters' values (client parameters) are obtained from the TypeReportSource.Parameters|UriReportSource.Parameters collection. The client parameters can be sent through the viewer's Parameters Area, on creating the WinForms Report Viewer, or by updating the viewer's ReportSource property.
Example of setting the ReportSource in code-behind:
private void Form1_Load(object sender, EventArgs e)
{
var typeReportSource = new Telerik.Reporting.TypeReportSource();
typeReportSource.TypeName = "Telerik.Reporting.Examples.CSharp.ListBoundReport, CSharp.ReportLibrary";
this.reportViewer1.ReportSource = typeReportSource;
reportViewer1.RefreshReport();
}
Private Sub Form1_Load(sender As Object, e As EventArgs)
Dim typeReportSource = New Telerik.Reporting.TypeReportSource()
typeReportSource.TypeName = "Telerik.Reporting.Examples.CSharp.ListBoundReport, CSharp.ReportLibrary"
Me.ReportViewer1.ReportSource = typeReportSource
ReportViewer1.RefreshReport()
End Sub
WPF Report Viewer
The WPF Report Viewer control can be connected to a Telerik Reporting REST Service or Telerik Report Server by setting its ReportEngineConnection property - How To: Construct a string to connect to Report Engine. For more details check How To: Use WPF Report Viewer with Report Server (REST Service). In this scenario the viewer's ReportSource property of type Telerik.Reporting.ReportSource is considered as a client-side ReportSource. The client report source can be set in the same way as if the viewer is operating locally (go to section Set up Report Viewer controls that work with Telerik Reporting Engine), where the selection is limited to TypeReportSource and UriReportSource:
-
The report description string is obtained from the TypeReportSource.TypeName|UriReportSource.Uri property, that returns a string. The report description string is sent to the Telerik Reporting REST service which internally resolves it to a TypeReportSource or a UriReportSource on the machine where the service and Telerik Reporting Engine are running.
If you need an InstanceReportSource or XmlReportSource, you will have to send a custom string as report description string, and to resolve manually the report description string via custom resolver for the Reporting REST service. For more details, check REST Service Report Source Resolver (available only if using a Telerik Reporting REST service instance).
Report parameters' values (client parameters) are obtained from the TypeReportSource.Parameters|UriReportSource.Parameters collection. The client parameters can be sent through the viewer's Parameters Area, on creating the WPF Report Viewer, or by updating the viewer's ReportSource property.
Example of specifying the ReportSource declaratively
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="451" Width="683"
xmlns:telerik="clr-namespace:Telerik.ReportViewer.Wpf;assembly=Telerik.ReportViewer.Wpf"
xmlns:telerikReporting="clr-namespace:Telerik.Reporting;assembly=Telerik.Reporting">
<Grid>
<telerik:ReportViewer Name="reportViewer1">
<telerik:ReportViewer.ReportSource>
<telerikReporting:TypeReportSource TypeName="Telerik.Reporting.Examples.CSharp.Invoice, CSharp.ReportLibrary">
<telerikReporting:ReportSource.Parameters>
<telerikReporting:Parameter Name="OrderNumber" Value="SO51085"/>
<telerikReporting:Parameter Name="ForYear" Value="2003"/>
</telerikReporting:ReportSource.Parameters>
</telerikReporting:TypeReportSource>
</telerik:ReportViewer.ReportSource>
</telerik:ReportViewer>
</Grid>
</Window>
Example of setting the ReportSource at runtime using the Window.Loaded event handler:
<Window x:Class="WpfApplication1.Window3"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window3" Height="328" Width="618" xmlns:my="clr-namespace:Telerik.ReportViewer.Wpf;assembly=Telerik.ReportViewer.Wpf" Loaded="Window_Loaded">
<Grid>
<my:ReportViewer Name="reportViewer1" />
</Grid>
</Window>
namespace WpfApplication1
{
using System.Windows;
/// <summary>
/// Interaction logic for Window3.xaml
/// </summary>
public partial class Window3 : Window
{
public Window3()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
var typeReportSource = new Telerik.Reporting.TypeReportSource();
typeReportSource.TypeName = "Telerik.Reporting.Examples.CSharp.ListBoundReport, CSharp.ReportLibrary";
//typeReportSource.Parameters.Add("ReportParameterName", ReportParameterValue);
this.reportViewer1.ReportSource = typeReportSource;
}
}
}
<Window x:Class="Window3"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window3" Height="489" Width="687" xmlns:my="clr-namespace:Telerik.ReportViewer.Wpf;assembly=Telerik.ReportViewer.Wpf" Name="Window3">
<Grid>
<my:ReportViewer Name="ReportViewer1" />
</Grid>
</Window>
Imports System.Windows
' Interaction logic for Window3.xaml
Partial Public Class Window3
Inherits Window
Public Sub New()
InitializeComponent()
End Sub
Private Sub Window_Loaded(sender As Object, e As RoutedEventArgs)
Dim typeReportSource = New Telerik.Reporting.TypeReportSource()
typeReportSource.TypeName = "Telerik.Reporting.Examples.CSharp.ListBoundReport, CSharp.ReportLibrary"
'typeReportSource.Parameters.Add("ReportParameterName", ReportParameterValue)
Me.ReportViewer1.ReportSource = typeReportSource
End Sub
End Class
WinUI Report Viewer
The WinUI Report Viewer control can be connected to a Telerik Reporting REST Service or Telerik Report Server by setting its ReportEngineConnection property - How To: Construct a string to connect to Report Engine. The configuration is practically identical to the one for the WPF Report Viewer.
Example of specifying the ReportSource declaratively
<telerikReportingCore:ReportViewer x:Name="reportViewer" Grid.Row="1" ReportEngineConnection="engine=RestService;uri=http://localhost:59655/api/reports">
<telerikReportingCore:ReportViewer.ReportSource>
<telerikReportingCore:UriReportSource Uri="MyReport.trdp">
<telerikReportingCore:ReportSource.Parameters>
<telerikReportingCore:Parameter Name="ParameterName_01" Value="ParameterValue_01"/>
<telerikReportingCore:Parameter Name="ParameterName_02" Value="ParameterValue_02"/>
</telerikReportingCore:ReportSource.Parameters>
</telerikReportingCore:UriReportSource>
</telerikReportingCore:ReportViewer.ReportSource>
</telerikReportingCore:ReportViewer>
Set up Report Viewer controls that are integrated with Telerik Report Server
Telerik Report Server's REST Service can use only its built-in Report Source Resolver, capable of handling client-side UriReportSource into a server-side UriReportSource on the server (Report Sources). Reports must be serialized in TRDX files or packaged in TRDP files which can be published on Telerik Report Server - Working with Report Server Reports. Thus the client-side ReportSource is limited to UriReportSource, where the report description string must be in a format: [CategoryName]/[ReportNameWithoutFileExtension] e.g. "Samples/Dashboard" which will request the Dashboard.trdx|trdp file that is published on Telerik Report Server under the "Samples" category.
The following Report Viewers are designed to work as clients of Telerik Report Server:
- HTML5 Report Viewer - the client report source is set in the same way as if the viewer is connected to a Telerik Reporting REST Service where the report description string must be in a format: [CategoryName]/[ReportNameWithoutFileExtension] e.g. "Samples/Dashboard"
- Angular Report Viewer the client report source is set in the same way as if the viewer is connected to a Telerik Reporting REST Service where the report description string must be in a format: [CategoryName]/[ReportNameWithoutFileExtension] e.g. "Samples/Dashboard"
- React Report Viewer the client report source is set in the same way as if the viewer is connected to a Telerik Reporting REST Service where the report description string must be in a format: [CategoryName]/[ReportNameWithoutFileExtension] e.g. "Samples/Dashboard"
- Blazor Report Viewer the client report source is set in the same way as if the viewer is connected to a Telerik Reporting REST Service where the report description string must be in a format: [CategoryName]/[ReportNameWithoutFileExtension] e.g. "Samples/Dashboard"
- Native Blazor Report Viewer the client report source is set in the same way as if the viewer is connected to a Telerik Reporting REST Service where the report description string must be in a format: [CategoryName]/[ReportNameWithoutFileExtension] e.g. "Samples/Dashboard"
- HTML5 ASP.NET MVC Report Viewer - the client report source is set in the same way as if the viewer is connected to a Telerik Reporting REST Service where the report description string must be in a format: [CategoryName]/[ReportNameWithoutFileExtension] e.g. "Samples/Dashboard"
- HTML5 ASP.NET WebForms Report Viewer - the client report source is set in the same way as if the viewer is connected to a Telerik Reporting REST Service where the report description string must be in a format: [CategoryName]/[ReportNameWithoutFileExtension] e.g. "Samples/Dashboard"
- WinForms Report Viewer - the client report source is set in the same way as if the viewer is connected to a Telerik Reporting REST Service where the report description string must be in a format: [CategoryName]/[ReportNameWithoutFileExtension] e.g. "Samples/Dashboard"
- WPF Report Viewer - the client report source is set in the same way as if the viewer is connected to a Telerik Reporting REST Service where the report description string must be in a format: [CategoryName]/[ReportNameWithoutFileExtension] e.g. "Samples/Dashboard"
- WinUI Report Viewer - the client report source is set in the same way as if the viewer is connected to a Telerik Reporting REST Service where the report description string must be in a format: [CategoryName]/[ReportNameWithoutFileExtension] e.g. "Samples/Dashboard"
These Report Viewers do not have direct access to Telerik Reporting Engine. Reports are processed and rendered on a remote machine where Telerik Report Server is running, and the content is delivered to the client by Telerik Report Server's REST Service.