Report Designer Requirements and Limitations
- 4 minutes to read
Report Designer Requirements
Required Libraries
The Web Report Designer requires the following libraries:
-
- jQuery 3.4.1+ (The recommended version is jQuery 3.5.1+.)
- knockout 3.5.1+
- ace.js 1.4.13+
-
DevExtreme libraries are used to render UI elements in Web reporting components.
DevExpress Analytics Components
Core library for DevExpress Analytics Components.
To include these script libraries in a client application, do one of the following:
Automatic Integration
Add the
resources
section to the application’s Web.config file to include client-side libraries on the web page:<devExpress> <!-- ... --> <resources> <add type="ThirdParty" /> <add type="DevExtreme" /> </resources> </devExpress>
Manual Integration
You can prevent a control from loading libraries automatically (e.g., when libraries are already referenced on the web page).
Declare an empty
resources
section in the Web.config file.<resources> </resources>
Attach the following scripts and stylesheets to the
<head>
section of the page:<html> <head> <script src="Scripts/jquery-3.5.1.min.js"></script> <script src="Scripts/knockout-3.5.0.js"></script> <script src="Scripts/ace/ace.js"></script> <script src="Scripts/ace/ext-language_tools.js"></script> ... </head> ... </html>
Note
If you remove the DevExpress
resources
section from the Web.config file, only DevExtreme libraries are loaded. For more information, review the following help topic: External Client Libraries.
For a list of supported web browsers, refer to the following help topic: Supported Browsers.
Register HTTP Handlers
Register ASPxHttpHandlerModule in the web.config file as a module to process resources and as a handler to process data.
The ASPxHttpHandlerModule is automatically registered in this file in the following cases:
- When you use DevExpress project templates to create an application with reporting controls;
- When the Visual Studio Designer opens a page with the Report Designer in markup.
If you create the Report Designer in code, you should register ASPxHttpHandlerModule explicitly. Insert the declarations 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.
<system.web>
...
<httpHandlers>
...
<add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v23.2, Version=23.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
verb="GET,POST" path="DXXRD.axd" validate="false" />
<add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v23.2, Version=23.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
verb="GET,POST" path="DXXRDV.axd" validate="false" />
<add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v23.2, Version=23.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
verb="GET,POST" path="DXQB.axd" validate="false" />
</httpHandlers>
<httpModules>
<add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v23.2, Version=23.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" name="ASPxHttpHandlerModule" />
</httpModules>
</system.web>
<system.webServer>
<handlers>
...
<add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v23.2, Version=23.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
verb="GET,POST" path="DXXRD.axd" name="ASPxReportDesignerHandlerModule" preCondition="integratedMode" />
<add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v23.2, Version=23.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
verb="GET,POST" path="DXXRDV.axd" name="ASPxWebDocumentViewerHandlerModule" preCondition="integratedMode" />
<add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v23.2, Version=23.2.5.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.v23.2, Version=23.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" name="ASPxHttpHandlerModule" />
</modules>
</system.webServer>
The Report Designer validates the configuration and displays the following error message if the corresponding handlers are not registered.
“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.“
Do not use handlers and/or validate their registration in the following cases:
- You use custom HTTP handlers or MVC controllers to process requests.
- If the application does not include SQL data sources and users do not need Query Builder functionality in the Report Designer, the DXQB.axd handler is unnecessary.
- Handlers are registered in the
<location>
section and automatic validation fails.
To disable automatic 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. For more information on security in report scripts, review the following help topic: Scripts Security.
Limitations
- Graphical report controls (e.g., Sparklines, Gauges) are not fully rendered on the design surface.
The XRRichText control does not include the rich text editor. You should explicitly enable the control’s Rich Text Editor to apply inline rich text formatting. For more information, review the following help topics:
The Report Designer’s Print Preview prints a report by converting it to PDF and printing the PDF. This approach requires browser support for PDF.
Touch events are not supported.
The Web Report Designer is not fully compliant with web accessibility guidelines. For more information on web accessibility in DevExpress controls, refer to the following help topic: Accessibility Support.