ReportDesignerClientSideEventsBuilder.CustomizeOpenDialog(String) Method

Sets the name of the JavaScript function or the entire code that will handle the Web Report Designer's CustomizeOpenDialog client-side event.

Namespace: DevExpress.AspNetCore.Reporting.ReportDesigner

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

Declaration

public ReportDesignerClientSideEventsBuilder CustomizeOpenDialog(
    string callback
)
Public Function CustomizeOpenDialog(
    callback As String
) As ReportDesignerClientSideEventsBuilder

Parameters

Type Name Description
String callback

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

Returns

Type Description
ReportDesignerClientSideEventsBuilder

A ReportDesignerClientSideEventsBuilder that can be used to further configure the Report Designer Client Side Events.

The Open Report dialog appears in the Web Report Designer when opening a report (e.g., when an end-user clicks the Open menu command). The CustomizeOpenDialog event enables you to customize the Open Report dialog. When implementing a handling function, use the objects passed as parameters. The first parameter passes the event sender that is the ClientReportDesigner object. The second one is an object with the following structure.

  • Popup
    The Open Report dialog object.

  • Customize
    This method allows you to modify the Open Report dialog based on the specified template and model.

The code sample below demonstrates how to display your report storage data in a custom way within the Open Report dialog.

  • Use the Popup field of the event handler's second parameter to customize the dialog's width, height and title.

  • Create a dialog model that provides functions to set and get the report URL, a function to be executed when showing this dialog and buttons to be displayed in the dialog.

  • Write custom logic to display reports from your server-side storage.

  • Define an HTML template for your dialog.

  • Use the Customize method of the object passed as the event handler's second parameter to modify the Open Report dialog based on the specified model and template.

For this example to work correctly, reports in your storage should be divided into categories. The ReportStorageWebExtension.GetUrls method should return a dictionary with report URLs and display names in the following format: "CategoryName\ReportName".

@{
    var designer = Html.DevExpress().ReportDesigner("reportDesigner1").Height("1000px")
        .Bind(Model.Report)
        .DataSources(configureDS => { foreach (var ds in Model.DataSources) { configureDS.Add(ds.Key, ds.Value); } })
        .ClientSideEvents(configure => { configure.CustomizeOpenDialog("customizeOpenDialog"); });
}
@designer

See Also