Skip to main content
A newer version of this page is available. .

Report Designer Requirements and Limitations

  • 5 minutes to read

This document provides information on the requirements for deploying the End-User Web Report Designer on the client. The document also describes the limitations in the Web Report Designer functionality for the current version of the DevExpress controls.

Report Designer Requirements

Install Script Files

To run the Web Report Designer, the following script files should be installed on the client web browser.

All JavaScript files should be downloaded and placed into your application’s Scripts folder, and the correct paths to these libraries should be set in the src attribute. All CSS files should be placed into the Content folder. You can also download and install these files automatically using NuGet.

To include these script files in a client application, do one of the following.

  • Automatic Integration

    Include these client-side libraries on the web page automatically by adding the “resources” section to the application’s Web.config file, as shown below.

    <devExpress>
        <!-- ... -->
        <resources>
            <add type="ThirdParty" />
            <add type="DevExtreme" />
        </resources>
    </devExpress>
    
  • Manual Integration

    To avoid automatic loading of any libraries by a control (e.g., when such libraries are already referenced on the web page), do the following.

    • Declare an empty “resources” section in the Web.config file.

      <resources>
      </resources>
      
    • Manually attach DevExtreme resources and the required third-party libraries to the web page.

      <html>
      <head>
          <script src="Scripts/jquery-3.3.1.min.js"></script>
          <script src="Scripts/jquery-ui-1.12.1.custom.min.js"></script>
          <script src="Scripts/knockout-3.4.2.js"></script>
      
          <script src="Scripts/ace/ace.js"></script>
          <script src="Scripts/ace/ext-language_tools.js"></script>
          <script src="Scripts/ace/theme-dreamweaver.js"></script>
          <script src="Scripts/ace/theme-ambiance.js"></script>
      
          <link href="Content/jquery-ui-1.11.4.custom.min.css" type="text/css" rel="Stylesheet" />
          ...
      </head>
      ...
      </html>
      

    Note

    Deleting the DevExpress “resources” section from the Web.config file will enable the default behavior (with automatic loading only of DevExtreme, without adding third-party libraries).

    To learn more about this configuration, see Embedding Third-Party Libraries.

For a sample project illustrating how to include these libraries manually, see the following article online: Why doesn’t the ASPxReportDesigner control/MVC ReportDesigner extension work and client-side errors are thrown.

For a list of web browsers supported by the Web Report Designer, refer to the following document: Supported Browsers.

Register httpHandlers

For the Report Designer to work correctly, the ASPxHttpHandlerModule should be registered in the web.config file as a module for resource processing and as a handler for data processing.

The ASPxHttpHandlerModule is automatically registered in this file in the following cases:

You can also register ASPxHttpHandlerModule manually, for example, when you create the Report Designer programmatically. Insert the module registration in the system.web/httpModules and system.webServer/modules configuration sections, and add the handler registration to the system.web/httpHandlers and system.webServer/handlers sections.

The following handlers are necessary for the Report Designer: DXXRD.axd, DXXRDV.axd and DXQB.axd.

<system.web>
...
  <httpHandlers>
    ...
    <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v19.2, Version=19.2.15.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" 
         verb="GET,POST" path="DXXRD.axd" validate="false" />
    <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v19.2, Version=19.2.15.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" 
         verb="GET,POST" path="DXXRDV.axd" validate="false" />
    <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v19.2, Version=19.2.15.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" 
         verb="GET,POST" path="DXQB.axd" validate="false" />
  </httpHandlers>  
  <httpModules>
    <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v19.2, Version=19.2.15.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" name="ASPxHttpHandlerModule" />
  </httpModules>
</system.web>
<system.webServer>
  <handlers>
    ...
    <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v19.2, Version=19.2.15.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" 
         verb="GET,POST" path="DXXRD.axd" name="ASPxReportDesignerHandlerModule" preCondition="integratedMode" />
    <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v19.2, Version=19.2.15.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" 
         verb="GET,POST" path="DXXRDV.axd" name="ASPxWebDocumentViewerHandlerModule" preCondition="integratedMode" />
    <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v19.2, Version=19.2.15.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" 
         verb="GET,POST" path="DXQB.axd" name="ASPxQueryBuilderDesignerHandlerModule" preCondition="integratedMode" />
  </handlers>
  <modules runAllManagedModulesForAllRequests="true">
    <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v19.2, Version=19.2.15.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" name="ASPxHttpHandlerModule" />
  </modules>
</system.webServer>

When rendering, the Report Designer checks the resulting configuration for the corresponding handlers’ presence. If these handlers are not registered, an error appears similar to the following:

The DXXRD.axd handler is not registered in the web.config (section: system.webServer/handlers). To disable web.config validation, use the DevExpress.Web.Mvc.ReportDesignerSettings.DisableHttpHandlerValidation property.

In specific cases, you may not need to use handlers and/or validate their registration:

  • When you do not use the standard handlers and process requests in your custom HTTP handlers or MVC controllers;
  • When you do not work with SQL data sources and do not need the Query Builder in the Report Designer (the DXQB.axd handler);
  • When handlers are registered inside the <location> section, and it is impossible to perform automatic validation.

To disable the handler validation, set the ReportDesignerSettings.DisableHttpHandlerValidation option to true.

@Html.DevExpress().ReportDesigner(settings => {
    settings.Name = "ReportDesigner1";
    settings.DisableHttpHandlerValidation = true;
}).Bind(Model.Report).GetHtml();

Scripting Support

Report scripts are disabled in the Web Report Designer. See Scripts Security for more information on security implications related to report scripts and to learn how to enable scripts if you trust your reports.

Limitations

  • Graphical report controls (for instance, Sparklines, Gauges), are not fully rendered on the design surface.
  • You can format the XRRichText control’s static content as a single unit only. Enable the control’s Rich Text Editor to apply rich text formatting in-line (see how to do this in WebForms and MVC applications).
  • The Report Designer’s Print Preview first converts a report to PDF to provide a capability to print the document then. This requires that the web browser supports PDF printing.
  • Touch events are not supported.
  • At present, the Web Report Designer does not meet all accessibility compliance requirements.