The requested page is not available for the requested platform. You are viewing the content for Default platform.

Report Designer Requirements and Limitations

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.

  • jQuery 1.11.3+
  • jQuery UI 1.11.4+ (both JavaScript and CSS files)

    The following scripts are required.

    • core.js
    • widget.js
    • mouse.js
    • draggable.js
    • resizable.js
    • selectable.js

    To assemble a custom jQuery UI library that includes the required scripts, visit the following page: Download Builder.

  • globalize 1x

    The Report Designer requires the core Globalize script and four Globalize modules (message, number, date and currency), as well as some cldrjs scripts. Here is a list of the required Globalize scripts:

    <script src="js/cldr.js"></script>
    <script src="js/cldr.event.js"></script>
    <script src="js/cldr.supplemental.js"></script>
    <script src="js/cldr.unresolved.js"></script>
    
    <script src="js/globalize.js"></script>
    <script src="js/globalize/message.js"></script>
    <script src="js/globalize/number.js"></script>
    <script src="js/globalize/currency.js"></script>
    <script src="js/globalize/date.js"></script>
    

    Read more about Globalize modules and requirements in the Globalize documentation.

    The basic cldr content needed for the Report Designer is included in the library. But for locales other than "en" (or currencies other than "USD"), cldr content should be loaded additionally (read more in the Globalize documentation).

  • knockout 3.3.0+
  • ace.js 1.1.9+

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 (such as jQuery and Globalize) 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/globalize/cldr.js"></script>
          <script src="Scripts/globalize/cldr.event.js"></script>
          <script src="Scripts/globalize/cldr.supplemental.js"></script>
          <script src="Scripts/globalize/cldr.unresolved.js"></script>
      
          <script src="Scripts/globalize/globalize.js"></script>
          <script src="Scripts/globalize/globalize.message.js"></script>
          <script src="Scripts/globalize/globalize.number.js"></script>
          <script src="Scripts/globalize/globalize.currency.js"></script>
          <script src="Scripts/globalize/globalize.date.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.v18.2, Version=18.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" 
         verb="GET,POST" path="DXXRD.axd" validate="false" />
    <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v18.2, Version=18.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" 
         verb="GET,POST" path="DXXRDV.axd" validate="false" />
    <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v18.2, Version=18.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" 
         verb="GET,POST" path="DXQB.axd" validate="false" />
  </httpHandlers>  
  <httpModules>
    <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v18.2, Version=18.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" name="ASPxHttpHandlerModule" />
  </httpModules>
</system.web>
<system.webServer>
  <handlers>
    ...
    <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v18.2, Version=18.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" 
         verb="GET,POST" path="DXXRD.axd" name="ASPxReportDesignerHandlerModule" preCondition="integratedMode" />
    <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v18.2, Version=18.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" 
         verb="GET,POST" path="DXXRDV.axd" name="ASPxWebDocumentViewerHandlerModule" preCondition="integratedMode" />
    <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v18.2, Version=18.2.3.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.v18.2, Version=18.2.3.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

In the Web Report Designer, the execution of all report scripts along with the capability to view and edit scripts by end-users is disabled by default. To learn how to enable scripting, see Scripts Security.

Limitations

This document section lists the Web Report Designer functionality limitations as for the XtraReports Suite version 18.2.

The following reporting functionality is not yet implemented:

  • Graphical report controls, such as Sparklines or Gauges, are not fully rendered on the design surface.
  • The Rich Text control's in-place editor does not allow you to assign different formatting settings to various parts of text (only plain text editing is currently supported).
  • To be able to print a report, the Report Designer's Print Preview first converts it to PDF, which requires that the web browser supports PDF printing.
  • Touch events are not supported.
  • At present, the Web Report Designer does not meet all requirements of accessibility compliance.