Skip to main content

WebDocumentViewerClientSideEventsBuilder.DocumentReady(String) Method

Sets the name of the JavaScript function or the entire code that will handle the Web Document Viewer’s DocumentReady client-side event.

Namespace: DevExpress.AspNetCore.Reporting.WebDocumentViewer

Assembly: DevExpress.AspNetCore.Reporting.v23.2.dll

NuGet Package: DevExpress.AspNetCore.Reporting

Declaration

public WebDocumentViewerClientSideEventsBuilder DocumentReady(
    string callback
)

Parameters

Name Type Description
callback String

The name of a JavaScript function or the entire JavaScript function code used to handle the DocumentReady event.

Returns

Type Description
WebDocumentViewerClientSideEventsBuilder

A WebDocumentViewerClientSideEventsBuilder object that can be used to further configure Document Viewer client side events.

Remarks

The DocumentReady event enables you to trigger actions when the Document Viewer loads a report and creates a document.

The event handler function receives two parameters. The first parameter is the event sender, which is the ClientDocumentViewer object. The second parameter is an object that has the following properties:

  • ReportId
    The report ID.

  • DocumentId
    The ID of the document that is ready to be shown in the Web Document Viewer.

  • PageCount
    The total number of pages in a report document.

Example: Page Navigation

The following code snippet demonstrates how to navigate through the pages of a document when it is created.

<script type="text/javascript" id="script"> 
    function documentReady(s, e) {
        var previewModel = s.GetPreviewModel();
        var goToNextPage = function () {
            var pageIndex = previewModel.GetCurrentPageIndex();
            if (e.PageCount <= pageIndex)
                return;
            previewModel.GoToPage(pageIndex + 1);
            setTimeout(function () { goToNextPage(); }, 3000);
        }
        goToNextPage();
    }
</script>

@{
    var documentViewer = Html.DevExpress().WebDocumentViewer("webDocumentViewer1")
        .Height("1000px")
        .Bind(Model.Report)
        .ClientSideEvents(configure => { configure.DocumentReady("documentReady"); });;
}
@documentViewer

Example: Show the Document Map Panel Automatically

The following code sample shows the Document Map Panel when the Document Viewer has loaded a report and the document has been built:

@{
    var viewerRender = Html.DevExpress().WebDocumentViewer("DocumentViewer")
        .Height("1000px")
        .ClientSideEvents(configure =>
        {
            configure.DocumentReady(@"function(s, e) {
                var preview = s.GetPreviewModel();
                if (preview)
                {
                    preview.tabPanel.tabs[3].active = true;
                }
            }
            ");
        })
    .Bind("TestReport");
    @viewerRender.RenderHtml()
}
See Also