Crosslight reporting services is built upon the company's flagship reporting, ClientUI Reporting, to produce identical reports across multiple platforms. With the powerful and sophisticated server-side report rendering, it's possible to serve reports in well-known format, such as PDF, which is widely supported in various desktop and mobile clients.
The following chart illustrates the overview of the ClientUI reporting architecture.
With solid 3-tier architecture and strong separation of concerns, the reporting services allows you to access all the rich features available in ClientUI Reporting. The key features are listed as follows.
- Various report types support
Display various report types, for example: simple listing, multiple reports, invoice, master detail, group, hierarchical, table, label, form, and side-by-side reports.
- Datasource agnostic
Built for ultimate flexibility. You can connect to any datasource as long as they are reachable – from web services, Web API, WCF RIA Services, DevForce, to virtually any objects that can be serialized over the wire.
- Complex data operation support
Perform any complex data operation which is actually run on the server-side, such as filtering, sorting, and grouping.
- Rich report components
Utilize all of the report bands and components introduced in ClientUI Reporting and they will be perfectly rendered on your device.
- Comprehensive report parameter support
Pass any data as report parameters to be included in report rendering process. Easily perform any custom logic based on the given report parameters.
- Pre-built conditional formatting
Change the appearance of report components depending on certain conditions.
- Advanced globalization support
Reports runs in multiple cultures and localization support.
- Powerful scripting capability
Fully supports ClientUI powerful scripting, allowing you to perform any complex operations within the report document.
For more information about the reporting engine and capabilities, see ClientUI Reporting web page.
Launching Report Viewer
Launching a report viewer is as simple as invoking the reporting service and call the LaunchReport method with the target report view model passed.
Prior to launching a report, you will need to create a ViewModel that derives from ReportViewModelBase which contains the required information about the report document and other settings to be retrieved from the report server. The following code example shows how to create a ReportViewModel which can be later passed as the target type in the LaunchReport method.
Passing Report Parameters
In most cases, you will need to capture user input which will be then passed to reporting service for further processing. It has been made easier since you only need to call the overloaded method which has been provided. The overloaded method require a ReportNavigationParameter to be passed along it. See the following code for more detailed explanation.
Customizing Report Navigation Parameter
Customizing PDF Export Settings
As the reports is served in PDF format, there are several settings which can be customized to affect the result.
Indicates whether the file should be compressed.
Specifies the dithering type.
Indicates whether the fonts used in report will be included in PDF file.
Specifies the image compression method used in PDF file.
Specifies the image format which is used in PDF file.
Specifies the quality of image in PDF file.
Specifies the image resolution which is used in the report.
Indicates whether the PDF file is PDF/A compliance.
Indicates whether only standard fonts will be used in PDF file.
Indicates whether unicode symbols must be used in PDF file.
To jump start with Crosslight's reporting service and see how it is implemented, please refer to Reporting sample.