Skip to main content
All docs
V24.1

DevelopmentModeOptions.EnableClientSideDevelopmentMode Property

Enables client-side development mode in the Reporting application.

Namespace: DevExpress.XtraReports.Web.Extensions.Options

Assembly: DevExpress.Web.Reporting.v24.1.Common.Services.dll

NuGet Package: DevExpress.Web.Reporting.Common.Services

Declaration

public bool EnableClientSideDevelopmentMode { get; set; }

Property Value

Type Description
Boolean

true to enable Development mode on the client; otherwise, false.

Remarks

The client-side Development mode is a mode of operation that allows you to catch the following errors that occur on the client in the early rendering stages:

  • errors that occur before the call to the applyBinding method in the BeforeRender, CustomizeActions, CustomizeElements events;
  • errors that occur during the ko.applyBindings method call.

When an error occurs, the following message is displayed with a link to the Reporting Application Diagnostics help topic:

Development Mode Message

Server-Side Setting

The ReportingConfigurationBuilder.UseDevelopmentMode() method enables Development mode on both server and client sides. The method sets the Enabled property to true and enables all application diagnostic options in development mode.

The following code snippet switches on Development mode at application startup:

var builder = WebApplication.CreateBuilder(args);

builder.Services.ConfigureReportingServices(configurator => {
    configurator.UseDevelopmentMode();
});

var app = builder.Build();

You can disable Development mode on the client with the following server code snippet at the application startup:

services.ConfigureReportingServices(builder => {
    builder.UseDevelopmentMode(options => {
        options.EnableClientSideDevelopmentMode = false;
    });
});

Client Setting

The developmentMode client option is available for all DevExpress Reporting JavaScript controls at the root level, similar to the developmentMode setting for the Report Designer.

var viewerOptions = {
    reportUrl: 'testReportName',
    requestOptions: {
        host: 'https://localhost:56345',
        invokeAction: '/DXXRDV
    },
    developmentMode: true
};
DevExpress.Reporting.Viewer.DxReportViewer(htmlElement, viewerOptions).render(); 

A client setting is critical for controls that are rendered on the client, because an error may occur before the server responds in the following situations:

  • incorrect address
  • misconfigured CORS.

For ASP.NET Core controls rendered on the server side (AspNetCore MVC + Blazor), all Development Mode settings can be configured at the application startup.

Server-Side vs Client Setting

The server setting does not affect the developmentMode client setting of the Document Viewer JavaScript-based component (Angular/React/Pure JS). The Report Designer component, however, retrieves the client setting from the server model developmentMode setting that comes in response to the GetDesignerModel request.

Tips and Limitations

  • In an Angular application, errors in callback handlers do not break client component rendering. Therefore, no such errors are detected when developmentMode is enabled in Angular.
See Also