New to Telerik Reporting? Start a free 30-day trial

Definition

Namespace:Telerik.ReportViewer.WinForms

Assembly:Telerik.ReportViewer.WinForms.dll

Syntax:

C#
[Docking(DockingBehavior.AutoDock)]
public abstract class ReportViewerBase : UserControl

Inheritance: objectMarshalByRefObjectComponentControlScrollableControlContainerControlUserControlReportViewerBase...

Derived Classes: ReportViewer

Properties

Gets or sets the accessibility key shortcuts map, used when the report viewer is in accessible mode. Returns null reference if the viewer's accessibility is not enabled.

C#
[Browsable(false)]
public Dictionary<int, ShortcutKeys> AccessibilityKeyMap { get; set; }

Gets or sets a value that determines whether the execution of NavigateToURL action that points to a file is allowed. If set to false, navigating to local or network file from NavigateToUrl action will be disabled. If set to true, navigating to local or network file from NavigateToUrl action will show a confirmation window before executing the action. Default value: false

C#
public bool AllowNavigatingToFileUrls { get; set; }

Gets or sets the current page in the viewer.

C#
[Browsable(false)]
public int CurrentPage { get; set; }
Example:
cs
// Navigate to a desired page
private void button2_Click(object sender, System.EventArgs e)
{
    var desiredPage = 5;

    // Check if the viewer can navigate to the page since the report may have fewer pages for example
    if (this.reportViewer1.CanMoveToPage(desiredPage))
    {
        // By setting the property the viewer will automatically navigate to the page in question
        this.reportViewer1.CurrentPage = desiredPage;
    }
}
vb
' Navigate to a desired page
Private Sub button2_Click(sender As Object, e As System.EventArgs)
    Dim desiredPage = 5


    ' Check if the viewer can navigate to the page since the report may have fewer pages for example

    If Me.ReportViewer1.CanMoveToPage(desiredPage) Then

        ' By setting the property the viewer will automatically navigate to the page in question

        Me.ReportViewer1.CurrentPage = desiredPage
    End If
End Sub 

Gets or sets a value that indicates whether the document map is displayed if any bookmark is defined.

C#
public bool DocumentMapVisible { get; set; }
Example:
vb
' Toggle the document map
Private Sub button9_Click(sender As Object, e As System.EventArgs)
    Me.ReportViewer1.DocumentMapVisible = Not Me.ReportViewer1.DocumentMapVisible
End Sub 
cs
// Toggle the document map
private void button9_Click(object sender, System.EventArgs e)
{
    this.reportViewer1.DocumentMapVisible = !this.reportViewer1.DocumentMapVisible;
}

Gets or sets a value that indicates whether the accessibility features of the report viewer and its contents should be enabled.

C#
public bool EnableAccessibility { get; set; }
Remarks:

Default value: false

Determines if navigate back in report viewer history operation is enabled

C#
[Browsable(false)]
public bool NavigateBackEnabled { get; }
Example:
cs
// Navigate to the previous report in the history if available
private void button7_Click(object sender, System.EventArgs e)
{
    if (this.reportViewer1.NavigateBackEnabled)
    {
        this.reportViewer1.NavigateBack();
    }
}
vb
' Navigate to the previous report in the history if available
Private Sub button7_Click(sender As Object, e As System.EventArgs)
    If Me.ReportViewer1.NavigateBackEnabled Then
        Me.ReportViewer1.NavigateBack()
    End If
End Sub 

Determines if navigate forward in report viewer history operation is enabled

C#
[Browsable(false)]
public bool NavigateForwardEnabled { get; }
Example:
cs
// Navigate to the next report in the history if available
private void button8_Click(object sender, System.EventArgs e)
{
    if (this.reportViewer1.NavigateBackEnabled)
    {
        this.reportViewer1.NavigateBack();
    }
}
vb
' Navigate to the next report in the history if available
Private Sub button8_Click(sender As Object, e As System.EventArgs)
    If Me.ReportViewer1.NavigateBackEnabled Then
        Me.ReportViewer1.NavigateBack()
    End If
End Sub 

Gets or sets a value that indicates whether the parameters area is displayed if any parameter editor exists.

C#
public bool ParametersAreaVisible { get; set; }
Example:
vb
' Toggle the parameters area
Private Sub button10_Click(sender As Object, e As System.EventArgs)
    Me.ReportViewer1.ParametersAreaVisible = Not Me.ReportViewer1.ParametersAreaVisible
End Sub 
cs
// Toggle the parameters area
private void button10_Click(object sender, System.EventArgs e)
{
    this.reportViewer1.ParametersAreaVisible = !this.reportViewer1.ParametersAreaVisible;
}

Gets the current processing state of the viewer

C#
[Browsable(false)]
public ProcessingState ProcessingState { get; }

Gets the available rendering extensions list.

C#
[Browsable(false)]
public IEnumerable<RenderingExtension> RenderingExtensions { get; }

Gets or sets the report displayed in the viewer.

C#
[Browsable(false)]
[Obsolete("Telerik.ReportViewer.WinForms.ReportViewer.Report is now obsolete. Please use the Telerik.ReportViewer.WinForms.ReportViewer.ReportSource property instead. For more information, please visit: https://www.telerik.com/support/kb/reporting/general/q2-2012-api-changes-reportsources.aspx#winformsviewer.")]
public IReportDocument Report { get; set; }

The connection string used to configure the reporting engine that will process and render the reports.

C#
public string ReportEngineConnection { get; set; }
Remarks:

If the selected engine is of remote type (REST Service or Report Server), the following extra dependencies are required:

  • Telerik.Reporting.Services.HttpClient
  • System.Net.Http
  • System.Net.Http.Formatting

Note: Connecting to Report Server for .NET is not supported yet.

Example:
cs
private void SetEmbeddedReportEngineConnection(object sender, System.EventArgs e)
{
    this.reportViewer1.ReportEngineConnection = new Telerik.ReportViewer.Common.EmbeddedConnectionInfo().ConnectionString;
    //if the ReportEngineConnection property is set to null or empty string, it will use the EmbeddedConnectionInfo by default. 
}
vb
Private Sub SetEmbeddedReportEngineConnection(sender As Object, e As System.EventArgs)
    Me.ReportViewer1.ReportEngineConnection = New Telerik.ReportViewer.Common.EmbeddedConnectionInfo().ConnectionString

    'if the ReportEngineConnection property is set to null or empty string, it will use the EmbeddedReportEngineConnectionInfo by default.

End Sub 
cs
private void SetReportServerReportEngineConnection(object sender, System.EventArgs e)
{
    this.reportViewer1.ReportEngineConnection = new Telerik.ReportViewer.Common.ReportServerConnectionInfo("http://reportserver:83", "user", "pass", 20).ConnectionString;
}
vb
Private Sub SetEmbeddedReportEngineConnection(sender As Object, e As System.EventArgs)
    Me.ReportViewer1.ReportEngineConnection = New Telerik.ReportViewer.Common.EmbeddedConnectionInfo().ConnectionString

    'if the ReportEngineConnection property is set to null or empty string, it will use the EmbeddedReportEngineConnectionInfo by default.

End Sub 
cs
private void SetRestServiceReportEngineConnection(object sender, System.EventArgs e)
{
    this.reportViewer1.ReportEngineConnection = new Telerik.ReportViewer.Common.RestServiceConnectionInfo("http://servicehost:83/api/reports", "authToken", 20).ConnectionString;
}
vb
Private Sub SetEmbeddedReportEngineConnection(sender As Object, e As System.EventArgs)
    Me.ReportViewer1.ReportEngineConnection = New Telerik.ReportViewer.Common.EmbeddedConnectionInfo().ConnectionString

    'if the ReportEngineConnection property is set to null or empty string, it will use the EmbeddedReportEngineConnectionInfo by default.

End Sub 

Gets or sets the ReportSource for the report displayed in the viewer. Set this property in order to change the report shown in the viewer. The RefreshReport() method must be called in order to invoke the actual report change in the viewer.

C#
public ReportSource ReportSource { get; set; }

Gets the ReportViewerModel instance.

C#
public IReportViewerModel ReportViewerModel { get; }
C#
[TypeConverter(typeof(ExpandableObjectConverter))]
public Resources Resources { get; }

Gets or sets a value that indicates whether the search metadata will be delivered on demand or by default.

C#
public bool SearchMetadataOnDemand { get; set; }
Remarks:

Enabling search will notify the report engine to produce search metadata while rendering the report. This metadata is used by the report viewer in search dialog and in the report viewer area for highlighting the found and selected items. Default value: false

Indicates whether DocumentMap button should be visible.

C#
public bool ShowDocumentMapButton { get; set; }

Indicates whether Export button should be visible.

C#
public bool ShowExportButton { get; set; }

Indicates whether the history (Back, Forward) buttons should be visible.

C#
public bool ShowHistoryButtons { get; set; }

Indicates whether the page navigation controls are visible.

C#
public bool ShowPageNavigationControls { get; set; }

Indicates whether PageSetup button should be visible.

C#
[Obsolete("Use ReportViewerBase.ShowPageSetupButton property instead.")]
[Browsable(false)]
public bool ShowPageSetup { get; set; }

Indicates whether PageSetup button should be visible.

C#
public bool ShowPageSetupButton { get; set; }

Indicates whether Parameters button should be visible.

C#
public bool ShowParametersButton { get; set; }

Indicates whether Print button should be visible.

C#
public bool ShowPrintButton { get; set; }

Indicates whether PrintPreview button should be visible.

C#
public bool ShowPrintPreviewButton { get; set; }

Indicates whether progress animation should be displayed while the report is rendered.

C#
public bool ShowProgress { get; set; }

Indicates whether the Refresh button should be visible.

C#
public bool ShowRefreshButton { get; set; }

Indicates whether Search button should be visible.

C#
public bool ShowSearchButton { get; set; }
Remarks:

If the button is visible, it will set the viewer's EnableSearch property to true, when pressed.

Indicates whether the Stop button should be visible.

C#
public bool ShowStopButton { get; set; }

Indicates whether the Zoom input box should be visible.

C#
public bool ShowZoom { get; set; }

Indicates whether the toolbar should be visible on the viewer.

C#
public bool ToolbarVisible { get; set; }

Gets the count of the available pages in the viewer.

C#
[Browsable(false)]
public int TotalPages { get; }
Example:
vb
' Go to the middle of the report
Private Sub button11_Click(sender As Object, e As System.EventArgs)
    Dim middlePage = Me.ReportViewer1.TotalPages / 2
    Me.ReportViewer1.CurrentPage = middlePage
End Sub 
cs
// Go to the middle of the report
private void button11_Click(object sender, System.EventArgs e)
{
    var middlePage = this.reportViewer1.TotalPages / 2;
    this.reportViewer1.CurrentPage = middlePage;
}

Specifies whether the viewer is in interactive or print preview mode.

C#
public ViewMode ViewMode { get; set; }
Example:
vb
' Switch to interactive mode
Private Sub button12_Click(sender As Object, e As System.EventArgs)
    Me.ReportViewer1.ViewMode = Telerik.ReportViewer.WinForms.ViewMode.Interactive
End Sub 
cs
// Switch to interactive mode
private void button12_Click(object sender, System.EventArgs e)
{
    this.reportViewer1.ViewMode = Telerik.ReportViewer.WinForms.ViewMode.Interactive;
}

Gets or sets the zoom mode of the viewer.

C#
public ZoomMode ZoomMode { get; set; }
Example:
vb
' Set the zoom mode to PageWidth
Private Sub button14_Click(sender As Object, e As System.EventArgs)
    Me.ReportViewer1.ZoomMode = Telerik.ReportViewer.WinForms.ZoomMode.PageWidth
End Sub 
cs
// Set the zoom mode to PageWidth
private void button14_Click(object sender, System.EventArgs e)
{
    this.reportViewer1.ZoomMode = Telerik.ReportViewer.WinForms.ZoomMode.PageWidth;
}

Gets or sets the percentage of zoom used for the report display.

C#
public int ZoomPercent { get; set; }
Example:
vb
' Set the zoom percent to a specific value
Private Sub button13_Click(sender As Object, e As System.EventArgs)
    Me.ReportViewer1.ZoomMode = Telerik.ReportViewer.WinForms.ZoomMode.Percent
    Me.ReportViewer1.ZoomPercent = 140
End Sub 
cs
// Set the zoom percent to a specific value
private void button13_Click(object sender, System.EventArgs e)
{
    this.reportViewer1.ZoomMode = Telerik.ReportViewer.WinForms.ZoomMode.Percent;
    this.reportViewer1.ZoomPercent = 140;
}

Methods

C#
protected virtual void AddToRenderingContext(IDictionary renderingContext)
Parameters:renderingContextIDictionary

Stops the background processing of the report.

C#
public void CancelRendering()
Example:
cs
// Stop rendering the report. 
private void button1_Click(object sender, System.EventArgs e)
{
    this.reportViewer1.CancelRendering();
}
vb
' Stop rendering the report. 
Private Sub button1_Click(sender As Object, e As System.EventArgs)
    Me.ReportViewer1.CancelRendering()
End Sub 

Stops background processing of the report.

C#
[Obsolete("CancelRendering(int timeout) method is now obsolete. Please use the Telerik.ReportViewer.WinForms.ReportViewer.CancelRendering() method instead.")]
public bool CancelRendering(int timeout)
Parameters:timeoutint

The number of milliseconds to wait for the background rendering to terminate. A value of -1 waits forever. A value of 0 returns immediately without waiting for the rendering to terminate.

Returns:

bool

A Boolean value. A value of true is returned if the background rendering has terminated. A value of false is returned if background rendering has not terminated after the amount of time specified in the millisecondsTimeout parameter has elapsed, or if the millisecondsTimeout parameter was set to 0.

Determines whether the viewer can be navigated to a specified page.

C#
public bool CanMoveToPage(int pageIndex)
Parameters:pageIndexint

The page number to determine navigation possibility.

Returns:

bool

Returns true if the viewer can be moved to the specified page.

Example:
cs
// Navigate to a desired page
private void button2_Click(object sender, System.EventArgs e)
{
    var desiredPage = 5;

    // Check if the viewer can navigate to the page since the report may have fewer pages for example
    if (this.reportViewer1.CanMoveToPage(desiredPage))
    {
        // By setting the property the viewer will automatically navigate to the page in question
        this.reportViewer1.CurrentPage = desiredPage;
    }
}
vb
' Navigate to a desired page
Private Sub button2_Click(sender As Object, e As System.EventArgs)
    Dim desiredPage = 5


    ' Check if the viewer can navigate to the page since the report may have fewer pages for example

    If Me.ReportViewer1.CanMoveToPage(desiredPage) Then

        ' By setting the property the viewer will automatically navigate to the page in question

        Me.ReportViewer1.CurrentPage = desiredPage
    End If
End Sub 

Clears the report viewer navigation history.

C#
public void ClearHistory()
Remarks:

Use this method to remove all viewer history records generated:

All history records including for the currently shown ReportSource are deleted.

C#
protected override void Dispose(bool disposing)
Parameters:disposingbool

Overrides: ContainerControl.Dispose(bool)

Exports the report in the specified format.

C#
public void ExportReport(string format, Hashtable deviceInfo)
Parameters:formatstring

Export format

deviceInfoHashtable

Contains parameters to pass to the rendering extension.

Example:
cs
// Opens the dialog to export the report
private void button5_Click(object sender, System.EventArgs e)
{
    this.reportViewer1.ExportReport("PDF", null);
}
vb
' Opens the dialog to export the report
Private Sub button5_Click(sender As Object, e As System.EventArgs)
    Me.ReportViewer1.ExportReport("PDF", Nothing)
End Sub 
C#
protected string FormatNavigateToFileConfirmation(string url)
Parameters:urlstringReturns:

string

virtual for test purposes only.

C#
protected virtual void HandleNavigateToFileActionNotSupported(NotSupportedException nsx)
Parameters:nsxNotSupportedException

Navigates the viewer back one step in the navigation history.

C#
public void NavigateBack()
Remarks:

Check NavigateBackEnabled if this operation is enabled. If not, exception is thrown.
The ReportSource property will reflect the change in the currently shown report.

Example:
cs
// Navigate to the previous report in the history if available
private void button7_Click(object sender, System.EventArgs e)
{
    if (this.reportViewer1.NavigateBackEnabled)
    {
        this.reportViewer1.NavigateBack();
    }
}
vb
' Navigate to the previous report in the history if available
Private Sub button7_Click(sender As Object, e As System.EventArgs)
    If Me.ReportViewer1.NavigateBackEnabled Then
        Me.ReportViewer1.NavigateBack()
    End If
End Sub 

Navigates the viewer forward one step in the navigation history.

C#
public void NavigateForward()
Remarks:

Check NavigateForwardEnabled if this operation is enabled. If not, exception is thrown.
The ReportSource property will reflect the change in the currently shown report.

Example:
cs
// Navigate to the next report in the history if available
private void button8_Click(object sender, System.EventArgs e)
{
    if (this.reportViewer1.NavigateBackEnabled)
    {
        this.reportViewer1.NavigateBack();
    }
}
vb
' Navigate to the next report in the history if available
Private Sub button8_Click(sender As Object, e As System.EventArgs)
    If Me.ReportViewer1.NavigateBackEnabled Then
        Me.ReportViewer1.NavigateBack()
    End If
End Sub 

Raises the Error event.

C#
protected virtual void OnError(ErrorEventArgs e)
Parameters:eErrorEventArgs

The ErrorEventArgs that contains the event data.

Remarks:

When overridden, make sure you call the base method implementation.

Raises the ExportBegin event.

C#
protected virtual void OnExportBegin(ExportBeginEventArgs e)
Parameters:eExportBeginEventArgs

The ExportBeginEventArgs that contains the event data.

Remarks:

When overridden, make sure you call the base method implementation.

Raises the ExportEnd event.

C#
protected virtual void OnExportEnd(ExportEndEventArgs e)
Parameters:eExportEndEventArgs

The ExportEndEventArgs that contains the event data.

Remarks:

When overridden, make sure you call the base method implementation.

Raises the InteractiveActionEnter event.

C#
protected virtual void OnInteractiveActionEnter(InteractiveActionEventArgs e)
Parameters:eInteractiveActionEventArgs

The InteractiveActionEventArgs that contains the event data.

Raises the InteractiveActionExecuting event.

C#
protected virtual void OnInteractiveActionExecuting(InteractiveActionCancelEventArgs e)
Parameters:eInteractiveActionCancelEventArgs

The InteractiveActionCancelEventArgs that contains the event data.

Remarks:

When overridden, make sure you call the base method implementation.

Raises the InteractiveActionLeave event.

C#
protected virtual void OnInteractiveActionLeave(InteractiveActionEventArgs e)
Parameters:eInteractiveActionEventArgs

The InteractiveActionEventArgs that contains the event data.

C#
protected override void OnLoad(EventArgs e)
Parameters:eEventArgs

Overrides: UserControl.OnLoad(EventArgs)

Raises the Print event.

C#
[Obsolete("OnPrint method is now obsolete. Please use Telerik.ReportViewer.WinForms.ReportViewer.OnPrintBegin method instead.")]
protected virtual void OnPrint(CancelEventArgs e)
Parameters:eCancelEventArgs

The CancelEventArgs that contains the event data.

Raises the Print event.

C#
[Obsolete("This overload is now obsolete. Please use Telerik.ReportViewer.WinForms.ReportViewer.OnPrintBegin(PrintBeginEventArgs) instead.")]
protected virtual void OnPrintBegin(CancelEventArgs e)
Parameters:eCancelEventArgs

The CancelEventArgs that contains the event data.

Remarks:

When overridden, make sure you call the base method implementation.

Raises the Print event.

C#
protected virtual void OnPrintBegin(PrintBeginEventArgs e)
Parameters:ePrintBeginEventArgs

The PrintBeginEventArgs that contains the event data.

Remarks:

When overridden, make sure you call the base method implementation.

Raises the PrintEnd event.

C#
[Obsolete("This overload is now obsolete. Please use Telerik.ReportViewer.WinForms.ReportViewer.OnPrintEnd(PrintEndEventArgs) instead.")]
protected virtual void OnPrintEnd(EventArgs e)
Parameters:eEventArgs

The EventArgs that contains the event data.

Remarks:

When overridden, make sure you call the base method implementation.

Raises the PrintEnd event.

C#
protected virtual void OnPrintEnd(PrintEndEventArgs e)
Parameters:ePrintEndEventArgs

The PrintEndEventArgs that contains the event data.

Remarks:

When overridden, make sure you call the base method implementation.

Raises the RenderingBegin event.

C#
[Obsolete("This overload is now obsolete. Please use Telerik.ReportViewer.WinForms.ReportViewer.OnRenderingBegin(RenderingBeginEventArgs) instead.")]
protected virtual void OnRenderingBegin(CancelEventArgs e)
Parameters:eCancelEventArgs

The CancelEventArgs that contains the event data.

Remarks:

When overridden, make sure you call the base method implementation.

Raises the RenderingBegin event.

C#
protected virtual void OnRenderingBegin(RenderingBeginEventArgs e)
Parameters:eRenderingBeginEventArgs

The RenderingBeginEventArgs that contains the event data.

Remarks:

When overridden, make sure you call the base method implementation.

Raises the RenderingEnd event.

C#
[Obsolete("This overload is now obsolete. Please use Telerik.ReportViewer.WinForms.ReportViewer.OnRenderingEnd(RenderingEndEventArgs) instead.")]
protected virtual void OnRenderingEnd(EventArgs e)
Parameters:eEventArgs

The EventArgs that contains the event data.

Remarks:

When overridden, make sure you call the base method implementation.

Raises the RenderingEnd event.

C#
protected virtual void OnRenderingEnd(RenderingEndEventArgs e)
Parameters:eRenderingEndEventArgs

The RenderingEndEventArgs that contains the event data.

Remarks:

When overridden, make sure you call the base method implementation.

Raises the ViewerToolTipOpening event.

C#
protected virtual void OnToolTipExecuting(ToolTipOpeningEventArgs e)
Parameters:eToolTipOpeningEventArgs

The ToolTipOpeningEventArgs that contains the event data.

Raises the UpdateUI event.

C#
protected virtual void OnUpdateUI(EventArgs e)
Parameters:eEventArgs

The EventArgs that contains the event data.

Remarks:

When overridden, make sure you call the base method implementation.

Renders the report in the viewer passing the currently entered parameter values to the report.

C#
public void Preview()

Opens the print dialog for the report

C#
public void PrintReport()
Example:
cs
// Opens the dialog to print the report
private void button4_Click(object sender, System.EventArgs e)
{
    this.reportViewer1.PrintReport();
}
vb
' Opens the dialog to print the report
Private Sub button4_Click(sender As Object, e As System.EventArgs)
    Me.ReportViewer1.PrintReport()
End Sub 
C#
protected void PrintReportInternal(Hashtable deviceInfo, PrintBeginEventArgs eventArgs)
Parameters:deviceInfoHashtableeventArgsPrintBeginEventArgs

Capture the keystrokes to determine if a valid accessible area shortcut is pressed

C#
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
Parameters:msgMessagekeyDataKeysReturns:

bool

Overrides: ContainerControl.ProcessCmdKey(ref Message, Keys)

Loads and refreshes the ReportSource in the viewer. Use this method to display in the viewer the report source from the ReportSource property.
Fresh report data is pulled from the report source data sources. Adds new history record in the report history right after the current record and the new record becomes current.
This method should not be called before the Form.Load() event is fired (avoid using it in the Form's constructor).

C#
public void RefreshReport()
Example:
cs
// Refresh the report with the current parameters
private void button6_Click(object sender, System.EventArgs e)
{
    this.reportViewer1.RefreshReport();
}
vb
' Refresh the report with the current parameters
Private Sub button6_Click(sender As Object, e As System.EventArgs)
    Me.ReportViewer1.RefreshReport()
End Sub 

Resets the control to its default values.

C#
public void Reset()
C#
protected virtual DialogResult ShowNavigateToFileConfirmationDialog(string url)
Parameters:urlstringReturns:

DialogResult

Opens the page setup dialog

C#
public void ShowPageSetupDialog()

Toggles the search dialog to search within the document. If the search metadata is not prepared, invokes report refresh to generate the search metadata and then opens the dialog.

C#
public void ToggleReportContentSearch()

Events

Occurs when the EnableAccessibility property is changed.

C#
public event AccessibilityChangedEventHandler AccessibilityChanged

Occurs when there is an error in the report viewer control.

C#
public event ErrorEventHandler Error
Example:

This example illustrates how to wire the Error event and use the event arguments to check the exception.

cs
void reportViewer1_Error(object sender, Telerik.Reporting.ErrorEventArgs args)
{
    if (args.Exception is System.Exception) // check for a specific exception
    {
        var message = args.Exception.Message;
        // do something with the message and/or the 
    }
}
vb
Private Sub reportViewer1_Error(sender As Object, args As Telerik.Reporting.ErrorEventArgs)
    If TypeOf args.Exception Is System.Exception Then

        ' check for a specific exception


        ' do something with the message and/or the 

        Dim message = args.Exception.Message
    End If
End Sub 

Occurs when the report in the viewer control starts exporting.

C#
public event ExportBeginEventHandler ExportBegin
Remarks:

Can be used to modify device info settings, such as report culture, before the export starts

Example:

This example illustrates how to wire the ExportBegin event, cancel it if needed and perform some logic based on the export format.

cs
void reportViewer1_ExportBegin(object sender, Telerik.ReportViewer.Common.ExportBeginEventArgs args)
{
    if (true) // some logic here
    {
        // Cancel is false by default
        args.Cancel = true;
    }

    switch (args.Format)
    {
        case "Excel":
            // do something
            break;
        case "PDF":
            // do something
            break;
    }
}
vb
Private Sub reportViewer1_ExportBegin(sender As Object, args As Telerik.ReportViewer.Common.ExportBeginEventArgs)
    If True Then

        ' some logic here


        ' Cancel is false by default

        args.Cancel = True
    End If

    Select Case args.Format
        Case "Excel"

            ' do something

            Exit Select
        Case "PDF"

            ' do something

            Exit Select
    End Select
End Sub 

Occurs when the report exporting in the viewer control is finished.

C#
public event ExportEndEventHandler ExportEnd
Example:

This example illustrates how to wire the ExportEnd event.

cs
void reportViewer1_ExportEnd(object sender, Telerik.ReportViewer.Common.ExportEndEventArgs args)
{
    if (null != args.Exception)
    {
        //some logic if report processing is not successful
    }
    else
    {
        //suppress the viewer SaveFileDialog and use your own
        args.Handled = true;
        var fileName = args.DocumentName;
        var extension = args.DocumentExtension;
        var filter = string.Format("{0} (*.{1})|*.{1}|All Files (*.*)|*.*",
                                    fileName,
                                    extension);

        var saveFileDlg = new SaveFileDialog
        {
            Filter = filter,
            FileName = fileName + "." + extension,
        };

        if (saveFileDlg.ShowDialog() == DialogResult.OK)
        {
            try
            {
                using (var fs = new FileStream(saveFileDlg.FileName, FileMode.Create))
                {
                    fs.Write(args.DocumentBytes, 0, args.DocumentBytes.Length);
                }

                //Optionally open the file
                if (!string.IsNullOrEmpty(saveFileDlg.FileName))
                {
                    System.Diagnostics.Process.Start(saveFileDlg.FileName);
                }
            }
            catch (Exception)
            {
                //Handle exception
            }
        }
    }
}
vb
Private Sub reportViewer1_ExportEnd(sender As Object, args As Telerik.ReportViewer.Common.ExportEndEventArgs)

    'some logic if report processing is not successful

    If args.Exception IsNot Nothing Then
    Else

        'suppress the viewer SaveFileDialog and use your own

        args.Handled = True
        Dim fileName = args.DocumentName
        Dim extension = args.DocumentExtension
        Dim filter = String.Format("{0} (*.{1})|*.{1}|All Files (*.*)|*.*", fileName, extension)

        Dim saveFileDlg = New SaveFileDialog() With { _
            .Filter = filter, _
            .FileName = fileName + "." + extension _
        }

        If saveFileDlg.ShowDialog() = DialogResult.OK Then
            Try
                Using fs = New FileStream(saveFileDlg.FileName, FileMode.Create)
                    fs.Write(args.DocumentBytes, 0, args.DocumentBytes.Length)
                End Using


                'Optionally open the file

                If Not String.IsNullOrEmpty(saveFileDlg.FileName) Then
                    System.Diagnostics.Process.Start(saveFileDlg.FileName)
                End If

                'Handle exception

            Catch generatedExceptionName As Exception
            End Try
        End If
    End If
End Sub 

Occurs when the mouse cursor enters the area of a report item's action.

C#
public event InteractiveActionEnterEventHandler InteractiveActionEnter
Example:

This example illustrates how to wire the event and use the event arguments

cs
void reportViewer1_InteractiveActionEnter(object sender, Telerik.ReportViewer.Common.InteractiveActionEventArgs args)
{
    var strB = new System.Text.StringBuilder();
    strB.AppendLine("You have just entered an action area.");
    strB.AppendLine("Action type: " + args.Action.GetType().Name);
    strB.AppendLine("ReportItem name: " + args.Action.ReportItemName);
    strB.AppendLine(string.Format("Mouse cursor position: {0}; Item bounds: {1}", args.CursorPos, args.Bounds));

    Console.Out.WriteLine(strB.ToString());
}
vb
' Handles the InteractiveActionEnter event

' Do not forget to add the WithEvents clause on ReportViewer1 instantiation if needed.
Private Sub reportViewer1_InteractiveActionEnter(sender As Object, args As Telerik.ReportViewer.Common.InteractiveActionEventArgs) Handles ReportViewer1.InteractiveActionEnter

    Dim strB = New System.Text.StringBuilder()
    strB.AppendLine("You have just entered an action area.")
    strB.AppendLine("Action type: " + args.Action.[GetType]().Name)
    strB.AppendLine("ReportItem name: " + args.Action.ReportItemName)
    strB.AppendLine(String.Format("Mouse cursor position: {0}; Item bounds: {1}", args.CursorPos, args.Bounds))

    Console.Out.WriteLine(strB.ToString())
End Sub 

Occurs when an action is being executed. Execution can be canceled.

C#
public event InteractiveActionExecutingEventHandler InteractiveActionExecuting
Example:

This example illustrates how to wire the event and use the event arguments.

cs
void reportViewer1_CustomInteractiveActionExecuting(object sender, Telerik.ReportViewer.Common.InteractiveActionCancelEventArgs args)
{
    var strB = new System.Text.StringBuilder();
    strB.AppendLine("ReportItem name: " + args.Action.ReportItemName);

    var customAction = args.Action as Telerik.Reporting.Processing.CustomAction;
    if (null != customAction)
    {
        foreach (var p in customAction.Parameters)
        {
            strB.AppendLine(string.Format("Parameter \"{0}\" value: {1}", p.Key, p.Value));
        }
    }

    strB.AppendLine(string.Format("Mouse cursor position: {0}; Item bounds: {1}", args.CursorPos, args.Bounds));

    MessageBox.Show(strB.ToString());
}
cs
void reportViewer1_InteractiveActionExecuting(object sender, Telerik.ReportViewer.Common.InteractiveActionCancelEventArgs args)
{
    var navigateToUrlAction = args.Action as Telerik.Reporting.Processing.NavigateToUrlAction;
    if (null != navigateToUrlAction)
    {
        if (!navigateToUrlAction.Url.StartsWith("https"))
        {
            args.Cancel = MessageBox.Show("You are about to navigate to a non-secure page. Continue?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) != System.Windows.Forms.DialogResult.Yes;
        }
    }
}
vb
' Handles the InteractiveActionExecuting event

' Do not forget to add the WithEvents clause on ReportViewer1 instantiation if needed.
Private Sub reportViewer1_CustomInteractiveActionExecuting(sender As Object, args As Telerik.ReportViewer.Common.InteractiveActionCancelEventArgs) Handles ReportViewer1.InteractiveActionExecuting

    Dim strB = New System.Text.StringBuilder()
    strB.AppendLine("ReportItem name: " + args.Action.ReportItemName)

    Dim customAction = TryCast(args.Action, Telerik.Reporting.Processing.CustomAction)
    If customAction IsNot Nothing Then
        For Each p As KeyValuePair(Of String, Object) In customAction.Parameters
            strB.AppendLine(String.Format("Parameter ""{0}"" value: {1}", p.Key, p.Value))
        Next
    End If

    strB.AppendLine(String.Format("Mouse cursor position: {0}; Item bounds: {1}", args.CursorPos, args.Bounds))

    MessageBox.Show(strB.ToString())
End Sub 
vb
' Handles the InteractiveActionExecuting event

' Do not forget to add the WithEvents clause on ReportViewer1 instantiation if needed.
Private Sub reportViewer1_CustomInteractiveActionExecuting(sender As Object, args As Telerik.ReportViewer.Common.InteractiveActionCancelEventArgs) Handles ReportViewer1.InteractiveActionExecuting

    Dim strB = New System.Text.StringBuilder()
    strB.AppendLine("ReportItem name: " + args.Action.ReportItemName)

    Dim customAction = TryCast(args.Action, Telerik.Reporting.Processing.CustomAction)
    If customAction IsNot Nothing Then
        For Each p As KeyValuePair(Of String, Object) In customAction.Parameters
            strB.AppendLine(String.Format("Parameter ""{0}"" value: {1}", p.Key, p.Value))
        Next
    End If

    strB.AppendLine(String.Format("Mouse cursor position: {0}; Item bounds: {1}", args.CursorPos, args.Bounds))

    MessageBox.Show(strB.ToString())
End Sub 

Occurs when the mouse cursor leaves the area of a report item's action.

C#
public event InteractiveActionLeaveEventHandler InteractiveActionLeave
Example:

This example illustrates how to wire the event and use the event arguments

cs
void reportViewer1_InteractiveActionLeave(object sender, Telerik.ReportViewer.Common.InteractiveActionEventArgs args)
{
    var strB = new System.Text.StringBuilder();
    strB.AppendLine("You have just left an action area.");
    strB.AppendLine("Action type: " + args.Action.GetType().Name);
    strB.AppendLine("ReportItem name: " + args.Action.ReportItemName);
    strB.AppendLine(string.Format("Item bounds: {0}", args.Bounds));

    Console.Out.WriteLine(strB.ToString());
}
vb
' Handles the InteractiveActionLeave event

' Do not forget to add the WithEvents clause on ReportViewer1 instantiation if needed.
Private Sub reportViewer1_InteractiveActionLeave(sender As Object, args As Telerik.ReportViewer.Common.InteractiveActionEventArgs) Handles ReportViewer1.InteractiveActionLeave

    Dim strB = New System.Text.StringBuilder()
    strB.AppendLine("You have just left an action area.")
    strB.AppendLine("Action type: " + args.Action.[GetType]().Name)
    strB.AppendLine("ReportItem name: " + args.Action.ReportItemName)
    strB.AppendLine(String.Format("Item bounds: {0}", args.Bounds))

    Console.Out.WriteLine(strB.ToString())
End Sub 

Print

CancelEventHandler

Occurs when the report in the viewer control is printed.

C#
[Obsolete("Print event is now obsolete. Please use Telerik.ReportViewer.WinForms.ReportViewer.PrintBegin event instead.")]
public event CancelEventHandler Print

Occurs when the report in the viewer control starts printing.

C#
public event PrintBeginEventHandler PrintBegin
Example:

This example illustrates how to wire the PrintBegin event and how to cancel it if needed.

cs
void reportViewer1_PrintBegin(object sender, Telerik.ReportViewer.Common.PrintBeginEventArgs e)
{
    if (true) // some logic here
    {
        // Cancel is false by default
        e.Cancel = true;
    }

    //To prevent the Print Dialog from appearing, you should specify valid printer settings to this method.
    if (true)
    {
        // Obtain the settings of the default printer
        e.PrinterSettings = new System.Drawing.Printing.PrinterSettings();

        // To suppress the Print dialogs. The standard print controller comes with no UI
        e.PrintController = new System.Drawing.Printing.StandardPrintController();
    }
}
vb
Private Sub reportViewer1_PrintBegin(sender As Object, e As Telerik.ReportViewer.Common.PrintBeginEventArgs)
    If True Then

        ' some logic here


        ' Cancel is false by default

        e.Cancel = True
    End If

    If True Then
        e.PrinterSettings.Copies = 2
    End If


    ' To prevent the Print Dialog from appearing, you should specify valid printer settings to this method.

    If True Then

        ' Obtain the settings of the default printer

        e.PrinterSettings = New System.Drawing.Printing.PrinterSettings()


        ' To suppress the Print dialogs. The standard print controller comes with no UI

        e.PrintController = New System.Drawing.Printing.StandardPrintController()
    End If
End Sub 

Occurs when the report printing in the viewer control is finished.

C#
public event PrintEndEventHandler PrintEnd
Example:

This example illustrates how to wire the PrintEnd event.

vb
Private Sub reportViewer1_PrintEnd(sender As Object, e As Telerik.ReportViewer.Common.PrintEndEventArgs)

    ' suitable for logging and triggering other actions

End Sub 
cs
void reportViewer1_PrintEnd(object sender, Telerik.ReportViewer.Common.PrintEndEventArgs e)
{
    // suitable for logging and triggering other actions
}

Occurs when the report in the viewer control starts rendering.

C#
public event RenderingBeginEventHandler RenderingBegin
Remarks:

Can be used to modify device info settings, such as report culture, before the rendering starts

Example:

This example illustrates how to wire the RenderingBegin event and how to cancel it if needed.

cs
void reportViewer1_RenderingBegin(object sender, Telerik.ReportViewer.Common.RenderingBeginEventArgs e)
{
    if (true) // some logic here
    {
        // Cancel is false by default
        e.Cancel = true;
    }
}
vb
Private Sub reportViewer1_RenderingBegin(sender As Object, e As Telerik.ReportViewer.Common.RenderingBeginEventArgs)
    If True Then

        ' some logic here


        ' Cancel is false by default

        e.Cancel = True
    End If
End Sub 

Occurs when the report rendering in the viewer control is finished.

C#
public event RenderingEndEventHandler RenderingEnd
Example:

This example illustrates how to wire the RenderingEnd event.

cs
void reportViewer1_RenderingEnd(object sender, Telerik.ReportViewer.Common.RenderingEndEventArgs e)
{
    // suitable for logging and triggering other actions
}
vb
Private Sub reportViewer1_RenderingEnd(sender As Object, e As Telerik.ReportViewer.Common.RenderingEndEventArgs)

    ' suitable for logging and triggering other actions

End Sub 

UpdateUI

EventHandler

Occurs when the UI of the report viewer control is updated.

C#
public event EventHandler UpdateUI
Example:

This example illustrates how to wire the UpdateUI event.

cs
void reportViewer1_UpdateUI(object sender, System.EventArgs e)
{
    // invoked whenever the viewer state is changed
}
vb
Private Sub reportViewer1_UpdateUI(sender As Object, e As System.EventArgs)

    ' invoked whenever the viewer state is changed

End Sub 

ViewerAreaPaint

PaintEventHandler

Occurs when the viewer's area is painted.

C#
public event PaintEventHandler ViewerAreaPaint

Occurs when the tooltip, associated with a report item, is being opened

C#
public event ToolTipOpeningEventHandler ViewerToolTipOpening
Example:

This example illustrates how to wire the event, cancel tooltip showing and change tooltip's title and text.

cs
private void reportViewer1_ViewerToolTipOpening(object sender, Telerik.ReportViewer.Common.ToolTipOpeningEventArgs args)
{
    if (args.ToolTip.Title.Contains("DoNotShow"))
    {
        args.Cancel = true;
    }
    else
    {
        args.ToolTip.Title = "The tooltip title is changed!";
        args.ToolTip.Text += " (changed)";
    }
}
vb
' Handles the ViewerToolTipOpening event

' Do not forget to add the WithEvents clause on ReportViewer1 instantiation if needed.
Private Sub reportViewer1_ViewerToolTipOpening(sender As Object, args As Telerik.ReportViewer.Common.ToolTipOpeningEventArgs) Handles ReportViewer1.ViewerToolTipOpening
    If args.ToolTip.Title.Contains("DoNotShow") Then
        args.Cancel = True
    Else
        args.ToolTip.Title = "The tooltip title is changed!"
        args.ToolTip.Text += " (changed)"
    End If
End Sub 
In this article
DefinitionPropertiesAccessibilityKeyMapAllowNavigatingToFileUrlsCurrentPageDocumentMapVisibleEnableAccessibilityNavigateBackEnabledNavigateForwardEnabledParametersAreaVisibleProcessingStateRenderingExtensionsReportReportEngineConnectionReportSourceReportViewerModelResourcesSearchMetadataOnDemandShowDocumentMapButtonShowExportButtonShowHistoryButtonsShowPageNavigationControlsShowPageSetupShowPageSetupButtonShowParametersButtonShowPrintButtonShowPrintPreviewButtonShowProgressShowRefreshButtonShowSearchButtonShowStopButtonShowZoomToolbarVisibleTotalPagesViewModeZoomModeZoomPercentMethodsAddToRenderingContext(IDictionary)CancelRendering()CancelRendering(int)CanMoveToPage(int)ClearHistory()Dispose(bool)ExportReport(string, Hashtable)FormatNavigateToFileConfirmation(string)HandleNavigateToFileActionNotSupported(NotSupportedException)NavigateBack()NavigateForward()OnError(ErrorEventArgs)OnExportBegin(ExportBeginEventArgs)OnExportEnd(ExportEndEventArgs)OnInteractiveActionEnter(InteractiveActionEventArgs)OnInteractiveActionExecuting(InteractiveActionCancelEventArgs)OnInteractiveActionLeave(InteractiveActionEventArgs)OnLoad(EventArgs)OnPrint(CancelEventArgs)OnPrintBegin(CancelEventArgs)OnPrintBegin(PrintBeginEventArgs)OnPrintEnd(EventArgs)OnPrintEnd(PrintEndEventArgs)OnRenderingBegin(CancelEventArgs)OnRenderingBegin(RenderingBeginEventArgs)OnRenderingEnd(EventArgs)OnRenderingEnd(RenderingEndEventArgs)OnToolTipExecuting(ToolTipOpeningEventArgs)OnUpdateUI(EventArgs)Preview()PrintReport()PrintReportInternal(Hashtable, PrintBeginEventArgs)ProcessCmdKey(ref Message, Keys)RefreshReport()Reset()ShowNavigateToFileConfirmationDialog(string)ShowPageSetupDialog()ToggleReportContentSearch()EventsAccessibilityChangedErrorExportBeginExportEndInteractiveActionEnterInteractiveActionExecutingInteractiveActionLeavePrintPrintBeginPrintEndRenderingBeginRenderingEndUpdateUIViewerAreaPaintViewerToolTipOpening
Not finding the help you need?
Contact Support