End-User Report Designer for Web
- 4 minutes to read
The Web End-User Report Designer is a fully functional client-side reporting tool that you can integrate in your web application.
The designer component allows users to create and edit a report. The built-in viewer is a fully functional Document Viewer control that allows users to preview, print, and export documents.
#Component Architecture
The following diagram illustrates web app architecture when the Report Designer control is used:
- Data Source
- A data source to which the report is connected and from which the report receives data.
- Report Class (C#/VB)
- An instance of a class that inherits from the XtraReport class. The Visual Studio Report Designer uses this format to create a document that can be previewed, printed, and exported. Read more about report file formats: Report File Formats.
- Query Builder Backend
- Query Builder backend is responsible for processing database queries when users design reports with custom SQL queries. It acts as the server-side engine that handles query execution, validation, and schema retrieval.
- Report Designer Control Backend
- The backend uses server-side stateful service. The server performs all the necessary actions - retrieves data from the data source, creates a list of parameter values, generates documents, and renders pages for previewing, exporting, and printing. User-defined data, along with report or document identifiers, are sent to the server, which in turn returns a rendered document for the Report Designer and Document Viewer to display. If a user exports the report, the backend processes the export and provides the file.
- Report Designer Control Frontend
- The control keeps its state on the client (it is a stateless component). All editing operations are performed in the browser, while other operations require server processing, in which case the component state (or part of its state) is sent to the server.
- Document Viewer Frontend and Backend
- The Document Viewer displays a user interface for viewing reports in a web browser. Users can specify report parameters, input data in interactive reports, navigate, zoom, print, and export reports. The Document Viewer communicates with the backend to request and display report data, and receives the exported documents. More information about the Document Viewer: Document Viewer for Web.
- Report Storage
- A service that processes a report name that the Report Designer passes to the server to open or save a report. For more information, review the Add a Report Storage help topics for ASP.NET Web Forms, ASP.NET MVC and ASP.NET Core platforms.
- Report Name Resolution Service
- A service or a group of services that process a report name or a string that the Report Designer sends to the server as a parameter in the Open method to create a report instance. The string can contain report parameters and additional data. You can register your custom implementation of these services and return a report with custom data and parameters applied at runtime. For more information, review the following help topic: Open a Report in ASP.NET Core Application.
See the following article to find out more information about how DevExpress Reports work: DevExpress Reports: Web Application Architecture.
#Integration
Review the following help topics:
- Get Started with DevExpress Reporting
- Create a Report from A to Z
- Create Reports in the Visual Studio Report Designer
- Detailed Guide to DevExpress Reporting
Report Designer integration has its own specifics. Review the Report Designer Requirements and Limitations help topic for ASP.NET Web Forms and ASP.NET MVC platforms.
To load and save a report from/to the REPX format, implement report storage. For more information, review Add a Report Storage help topics for ASP.NET Web Forms, ASP.NET MVC, and ASP.NET Core platforms.
#Interface and Functionality (UI)
The following help sections describe the Web End-User Report Designer user interface:
Report Designer UI and functionality are described in detail in the End-User Documentation available online:
A general technique that allows you to customize the UI elements in Reporting components: Use Custom HTML Templates.
For more information, review the Customization topic in the End-User Report Designer section for your required platform.