[]
        
(Showing Draft Content)

Blazor Viewer API

The page describes the Blazor Viewer API that can be used for initialization or at run time while working with the viewer.

RenderMode

Description: The initial render mode - 'Paginated' or 'Galley'. The default value is 'Paginated'.

Type: Enum: RenderMode

Accepted values: 'RenderMode.Paginated', 'RenderMode.Galley'

<ReportViewer @ref="_viewer" ReportName="@_currentReport" RenderMode="RenderMode.Paginated"/>

DefaultExportSettings

Description: The object containing custom default export settings. Use to preset the export settings' default value and its visibility in the export panel.

Type: Dictionary<string, Dictionary<string, ExportSetting>>

<ReportViewer @ref="_viewer" ReportName="@_currentReport" DefaultExportSettings="@defaultExportSettings"/>
@code{ 
  Dictionary<string, Dictionary<string, ExportSetting>> defaultExportSettings = new Dictionary<string, Dictionary<string, ExportSetting>>()
    {
          {
              "xls", new Dictionary<string, ExportSetting>(){
                  {
                      "FileName",  new ExportSetting() {Value = "ar", Visible = true}
                  },
                  {
                      "EnableToggles",  new ExportSetting() {Value = false}
                  }
              }
          }
    };
}

AutoBackgroundColor

Description: When set to 'true', the background color of the viewing area is filled with the report's body color. This property is available only for RDLX Dashboard reports.

Type: bool

Accepted values: 'true', 'false'

<ReportViewer @ref="_viewer" ReportName="@_currentReport" AutoBackgroundColor="true" />

AvailableExports

Description: The array of export types available via export functionality of the viewer.

Type: ExportTypes[]

<ReportViewer @ref="_viewer" ReportName="@_currentReport" AvailableExports="availableExportArr"/>
@code{
    ExportTypes[] availableExportArr = new ExportTypes[] {
            ExportTypes.Pdf, ExportTypes.Xlsx, ExportTypes.Xls, ExportTypes.Json
        };
}

Locale

Description: The locale used for displaying the viewer.

Type: String

Accepted values: 'en-US' (for English), 'ja-JP' (for Japanese), and 'zh-CN' (for Chinese)

<ReportViewer @ref="_viewer" ReportName="@_currentReport" Locale="ja-JP"/>

LocaleData

Description: The JSON containing the localization strings.

Type: String

<ReportViewer @ref="_viewer" ReportName="@_currentReport" LocaleData="@_localeData" >
@code{
    string _localeData = "{\"viewer\": {\"toolbar\": {\"refresh\": \"更新\"} } }";
}

LocaleUri

Description: The url of the file containing the localization strings.

Type: String

<ReportViewer @ref="_viewer" ReportName="@_currentReport" LocaleUri="localization.json"/>

PanelsLocation

Description: The location of the panels or panes (search pane, parameters pane, etc.) to the left side ('toolbar') or the right side ('sidebar') of the viewer. The default value is 'toolbar'.

Type: Enum: PanelsLocation

Accepted values: 'PanelsLocation.sidebar', 'PanelsLocation.toolbar'

<ReportViewer @ref="_viewer" ReportName="@_currentReport" PanelsLocation="PanelsLocation.toolbar" />

DisplayMode

Description: Set the single page or continuous page mode for the viewer.

Type: Enum: ViewMode

Accepted values: 'ViewMode.Single', 'ViewMode.Continous'

<ReportViewer @ref="_viewer" ReportName="@_currentReport" DisplayMode="ViewMode.Single" />

Action

Description: The callback that is invoked before the viewer opens the hyperlink, bookmark link, drill-down report, or toggles the report control visibility.

Type: Method (string, object[])

<ReportViewer @ref="_viewer" ReportName="@_currentReport" Action="actionMethod" />
@code{
    public void actionMethod(string actionType , object[] actionParams)
    {
        System.Diagnostics.Debug.WriteLine(actionType);
        foreach(var obj in actionParams)
        {
            System.Diagnostics.Debug.WriteLine(obj);
        }
                }
}

Error

Description: The callback that is invoked when an error occurs in the process of displaying the report.

Type: Method(ErrorInfo obj)

<ReportViewer @ref="_viewer" ReportName="@_currentReport" Error="errorMethod" />
@code{
    public void errorMethod(ErrorInfo obj)
    {
        System.Diagnostics.Debug.WriteLine("Error Message :" + obj.Message);
                   }
}

HideErrors

Description: Specify whether to show errors in the viewer ('false' by default).

Type: bool

Accepted values: 'true', 'false'

<ReportViewer @ref="_viewer" ReportName="@_currentReport" HideErrors="true" />

InitialZoomMode

Description: Set the zoom mode at which the report should open in the viewer.

Type: String

Accepted values: 'FitToPage', 'FitToWidth'

<ReportViewer @ref="_viewer" ReportName="@_currentReport" InitialZoomMode="@ZoomMode.FitToWidth"/>

InitialZoomPercentage

Description: Set the zoom level in percentage at which the report should open in the viewer. If you set this property to, for example, 100, then the InitialZoomMode is ignored.

Type: Integer

<ReportViewer @ref="_viewer" ReportName="@_currentReport" InitialZoomPercentage="50"/>

The percentage value can range from 25 to 300.

DocumentLoaded

Description: The callback that is invoked when a document is loaded entirely on the server.

Type: Method()

Returns: Void

<ReportViewer @ref="_viewer" ReportName="@_currentReport" DocumentLoaded="DocumentLoaded"/>
@code{
    public void DocumentLoaded()
    {
        System.Diagnostics.Debug.WriteLine("Document Loaded");
    }
}

ReportService

Description: Set up the settings to connect the Web API.

Type: ReportServiceSettings object

<ReportViewer @ref="_viewer" ReportName="@_currentReport" ReportService="setting" />
@{
    ReportServiceSettings setting = new ReportServiceSettings()
    {
        Url = "http:example.com/api/reporting",
        SecurityToken = "security_Token",
        OnRequest = (OnRequestInfo obj) =>
        {
            obj.Headers.Add("Authorization", "security_Token");
        }
    };
}

ViewerInitialized

Description: The callback that is invoked when the viewer is initialized.

Type: Method()

Returns: Void

<ReportViewer @ref="_viewer" ReportName="@_currentReport" ViewerInitialized="InitializedViewer"/>
@code{
    private void InitializedViewer()
    {
        System.Diagnostics.Debug.WriteLine("Viewer is initailized now");
                 }
}

ReportLoaded

Description: The callback that is invoked when the viewer obtains the information about the requested report.

Type: Method(ReportInfo obj)

Returns: Void

<ReportViewer @ref="_viewer" ReportName="@_currentReport" ReportLoaded="ReportLoaded"/>
@code{
    public void ReportLoaded(ReportInfo obj)
    {
        System.Diagnostics.Debug.WriteLine("The report " + obj.Name + " was successfully loaded!");
                   }
}

ParametersPanelSettings

Description: Set up the parameters panel or pane settings.

Type: ParametersPanelSettings object

Enums:

  • ParameterPanelLocation: Adjusts the position of the parameters pane.

    Accepted Value: 'Default', 'Top'

  • ParameterPanelOpen: Sets the parameters pane to be available by default, irrespective of whether a parameter is set to a default value or requires user input.

  • Accepted Value: 'Auto', 'Always'

<ReportViewer @ref="_viewer" ReportName="@_currentReport" ParametersPanelSettings="parametersPanelSetting"/>
@code{
    ParametersPanelSettings parametersPanelSetting = new ParametersPanelSettings()
    {
        Location = ParameterPanelLocation.Default,
        Open = ParameterPanelOpen.Always
               };
}

Sidebar

Description: The viewer's sidebar instance. Use it to toggle the sidebar visibility.

Returns: Sidebar object

<ReportViewer @ref="_viewer" ReportName="@_currentReport" ViewerInitialized="InitializedViewer"/>
@{
private ReportViewer _viewer;
  
   private void InitializedViewer()   
   {
Sidebar obj = _viewer.Sidebar;
   }
}

Parameters

Description: The array of the {name, value} pairs that describe the values of the parameters used to run the report.

Type: Parameter[]

<ReportViewer @ref="_viewer" ReportName="@_currentReport" Parameters="parameterArray"/>
@code{
    Parameter[] parameterArray = new Parameter[]
    {
        new Parameter
        {
            Name = "Category",
            Values = new string[]{"Business" }
        }
                  };
}

ReportName

Description: The name of the report to be shown by the viewer.

Type: String

<ReportViewer @ref="_viewer" ReportName="@_currentReport" />
@code{
private ReportViewer _viewer;
private string _currentReport = null;
    protected override void OnInitialized()
    {
reportsList = ReportsService.GetReports().ToList();
_currentReport = reportsList.FirstOrDefault();     
    }
}

Width

Description: The width of the viewer, by default 100%.

Type: String

<ReportViewer @ref="_viewer" ReportName="@_currentReport" Width="50%"/>

Height

Description: The width of the viewer, by default 100%.

Type: String

<ReportViewer @ref="_viewer" ReportName="@_currentReport" Height="50%"/>

Toolbar

Description: The viewer's toolbar instance. Use it to add the custom elements or remove the existing ones.

Returns: Toolbar object

<ReportViewer @ref="_viewer" ReportName="@_currentReport" ViewerInitialized="InitializedViewer"/>
@{
private ReportViewer _viewer;
  
   private void InitializedViewer()   
   {
Toolbar obj = _viewer.Toolbar;
   }
}

Themes

Description: Sets the theme on the viewer. The theme can be set to a custom theme or a default theme.

<ReportViewer @ref="_viewer" ReportName="@_currentReport" Themes="@_themes"/>
@code{
    private static readonly ColorTheme _theme = new ColorTheme()
    {
        Name = "testTheme",
        BackgroundPanels = "#fdf7f1",
        BackgroundMain = "#fdf7f1",
        Primary = "blue",
        Secondary = "green",
        Neutral = "grey",
        Error = "red",
        Warning = "yellow",
        FontFamily = "'Open Sans', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif",
        Type = ColorThemeType.light
    };
    
    private readonly ThemeSettings _themes = new ThemeSettings()
    {
        InitialTheme = "testTheme",
        ThemeSelector = new ThemeSelector()
        {
            Enabled = true,
            AvailableThemes = new []{ ColorThemes.ActiveReportsDark, _theme, "default" }
        }
    };
    
}

BackToParrent

Description: Makes the viewer to display the parent report of the drill-down report.

Type: Method

Returns: Void

<ReportViewer @ref="_viewer" ReportName="@_currentReport" ViewerInitialized="InitializedViewer"/>
@code{   
private ReportViewer _viewer;
    private void InitializedViewer()
    {
await  _viewer.BackToParrent();
    }
}

CurrentPage

Description: The currently displayed page number.

Type: Method

Returns: ValueTask<int>

<ReportViewer @ref="_viewer" ReportName="@_currentReport"  DocumentLoaded="@DocumentLoaded"/>
@code{   
private async void DocumentLoaded()
    {
     var currentPage = await _viewer.CurrentPage();
     System.Diagnostics.Debug.WriteLine(currentPage);
    }
}

Export

Description: Exports the currently displayed report.

Parameters:

  • exportType: Specifies the export format.

  • callback: Function that is invoked once the export result is available (its Url is passed in the callback)

  • saveAsDialog: Indicates whether the save as dialog should be shown immediately once the export result is ready

  • settings: The export settings are available for RenderingExtensions

  • isCancelRequested: The function is periodically called with a check to cancel the export task

Type: Method(ExportTypes, Action<string> callback = null, bool = false, Dictionary<string, string> settings = null, Func<bool> isCancelRequested = null, )

Returns: Void

<GrapeCity.ActiveReports.Blazor.ReportViewer @ref="_viewer" ReportName="@reportId" DocumentLoaded="
@DocumentLoaded"/>
@code {
 private ReportViewer _viewer;
 private string reportId = "User defined report columns.rdlx";
 private async void DocumentLoaded()
    {
 await _viewer.Export(ExportTypes.Pdf,
 (uri) =>
    {
    //uri to export result
    },
 false,
 new Dictionary<string, string>() { { "Title", "Some Title" } },
 () =>
    {
   //hecking export cancellation
   return false;
    }
 );
    }
}

GetToc

Description: Obtains the report TOC.

Type: Method

Returns: ValueTask<BookmarkInfo>

<ReportViewer @ref="_viewer" ReportName="@_currentReport"  DocumentLoaded="@DocumentLoaded"/>
@code{   
private async void DocumentLoaded()
    {
        var toc = await _viewer.GetToc();
    }
}

GoToPage

Description: Makes the viewer display the specific page. Page numeration starts with 1.

Type: int

Returns: Void

<ReportViewer @ref="_viewer" ReportName="@_currentReport"  DocumentLoaded="@DocumentLoaded"/>
@code{   
private async void DocumentLoaded()
    {
                      await _viewer.GoToPage(2);
    }
}

OpenReport

Description: Makes the viewer to display the parent report of the drill-down report.

Type: Method(string, Parameter[] = null)

Returns: Void

_viewer.OpenReport("TestReport.rdlx");
OR
    Parameter[] parameterArray = new Parameter[]
   {
        new Parameter
        {
            Name = "Category",
            Values = new string[]{"Business" }
        }
   };
_viewer.OpenReport("TestReport.rdlx", parameterArray);

PageCount

Description: Gets the page count of the currently displayed report.

Type: Method

Returns: ValueTask<int>

<ReportViewer @ref="_viewer" ReportName="@_currentReport"  DocumentLoaded="@DocumentLoaded"/>
@code{   
private async void DocumentLoaded()
    {
         var countPage = await _viewer.PageCount();
        System.Diagnostics.Debug.WriteLine(countPage);
    }
}

Print

Description: Prints the currently displayed report if any.

Type: Method()

Returns: Void

<ReportViewer @ref="_viewer" ReportName="@_currentReport"  DocumentLoaded="@DocumentLoaded"/>
@code{   
private async void DocumentLoaded()
    {
         await _viewer.Print();
    }
}

Refresh

Description: Refreshes the report preview.

Type: Method()

Returns: Void

<ReportViewer @ref="_viewer" ReportName="@_currentReport"  DocumentLoaded="@DocumentLoaded"/>
@code{   
private async void DocumentLoaded()
    {
         await _viewer.Refresh();
    }
}

Search

Description: Performs the search of a specific term with specific search options (match case, whole word) and invokes the specific callback with the search result passed.

Parameters:

  • searchTerm: String to find.

  • searchOptions: The object optionally defines the search options.

  • callback: The function to call after performing the search.

Type: Method(string, SearchOptions = null, Action<List> = null)

Returns: Void

<ReportViewer @ref="_viewer" ReportName="@_currentReport"  DocumentLoaded="@DocumentLoaded"/>
@code{   
private async void DocumentLoaded()
    {
        //Searching ALFKI keyword in the report
        await _viewer.Search("ALFKI", new SearchOptions()
        {
            MatchCase = true,
            WholePhrase = false
        },
        (List<SearchResult> results) =>
        {
            if (results != null && results.Count > 0)
            {
                foreach (var res in results)
                {
                    System.Diagnostics.Debug.WriteLine(res.DisplayText);
                }
                
            }
        });
    }

See Also

Reference

ReportViewer Class