Skip to end of metadata
Go to start of metadata

Crosslight provides a capability to view enterprise reports across multiple platforms including iOS, Android, Windows Phone and Windows 8. You can quickly add reporting feature to your apps since Crosslight has encapsulated all the functionality required to display the reports on multiple platforms natively.


On this page:

This page discusses the reporting service and usage in the Crosslight apps layer. For information about configuring the report server, see Configuring Report Server.

Getting Started with Crosslight Reporting Service

This video shows you how to get started with Crosslight reporting service. You will learn how to configure the report server with ClientUI assemblies as well as view the generated report on Crosslight mobile apps on multiple platforms: iOS, Android, Windows Phone, and Windows Store.

Browse more tutorial videos.

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.

  1. 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.
  2. 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.
  3. Complex data operation support
    Perform any complex data operation which is actually run on the server-side, such as filtering, sorting, and grouping.
  4. Rich report components
    Utilize all of the report bands and components introduced in ClientUI Reporting and they will be perfectly rendered on your device.
  5. 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.
  6. Pre-built conditional formatting
    Change the appearance of report components depending on certain conditions.
  7. Advanced globalization support
    Reports runs in multiple cultures and localization support.
  8. 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.

  • Compressed
    Indicates whether the file should be compressed.
  • DitheringType
    Specifies the dithering type.
  • EmbeddedFonts
    Indicates whether the fonts used in report will be included in PDF file.
  • ImageCompressionMethod
    Specifies the image compression method used in PDF file.
  • ImageFormat
    Specifies the image format which is used in PDF file.
  • ImageQuality
    Specifies the quality of image in PDF file.
  • ImageResolution
    Specifies the image resolution which is used in the report.
  • PdfACompliance
    Indicates whether the PDF file is PDF/A compliance.
  • StandardPdfFonts
    Indicates whether only standard fonts will be used in PDF file.
  • UseUnicode
    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.