Report Rendering in Modernized Code
This section describes where reports are rendered in the application UI and the mechanisms that make them work.
Reports in the UI
Reports are rendered inside DataManagerControl
controls. These controls are added to the frontend component templates using the following descriptor:
The following line is used to configure a DataManagerControl
to display a report.
This property is transferred to the code executed in the frontend using the synchronization mechanism (TODO LINK TO SYNC PROCESS). This property instructs the frontend to display a PDF Viewer in the area assigned to the DataManagerControl.
This PDF Viewer control is requests a PDF using the DataManagerController.printDataManager endpoint.
The implementation of the DataManagerController.printDataManager endpoint calls ReportWatcher and returns the rendered PDF.
Implicit use of the ReportWatcher service
Notice that modernized applications should not call the ReportWatcher service directly. This service is automatically called when having a DataManagerControl
(TODO ADD REFERENCE TO DATAMANAGER DOCUMENTATION) configured to show itself as a report.
Report rendering internals
The following diagram shows a summary on how the different components interact when processing a report request.
Part of the process of creating a report from a DataManager involves :
Converting the DataManager to a SSRS report definition in RDL format
Extracting the data of the report and generating a System.Data.DataSet dump of all the data required to render the report.
These processes are described in the RDL Conversion section.