[]
        
(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