Custom Report Storage
- 2 minutes to read
This document explains how you can implement a report storage for the End-User Report Designer. A report storage enables you to use a database, an eXpress Persistent object, a ZIP file, or any other location to store and retrieve reports.
Windows Forms
You can store report definitions in a database or any other repository. A single repository is a convenient way to share reports between users when they create or edit reports with the End-User Designer.
To implement a Report Storage, create the ReportStorageExtension class descendant and override its methods.
The user actions and their implementation methods are listed below.
Save reports
- The
SetData
method saves a report with the specified identifier to the Report Storage. Override theIsValidUrl
method to validate the identifier. - The
SetNewData
method obtains a new report identifier and saves a report. Override theCanSetData
method to determine whether the save operation is available.
- The
Restore reports
- The
GetData
method retrieves the XML-serialized report by the specified identifier from the Report Storage. - The
GetNewUrl
method obtains the report identifier that is used to open a report.
- The
Manage reports
- The GetStandardUrls method returns an array of report identifiers that the Report Storage contains.
- The GetStandardUrlsSupported method determines whether the GetStandardUrls method is available.
To make the custom report storage available in your application, register it with the static RegisterExtensionGlobal method.
For informaton on how to serialize and store custom objects (such as custom parameters or object data sources), review the following help topic: XML serialization.
WPF
A report storage in a WPF application implements the IReportStorage interface. For more information, review the following help topic: Store Reports in the Report Designer.
Web
For information on how you can add a server-side storage to your web reporting application, review the following help topics: