Working with Studio Reports Events
Applies to: Kyvos Reporting
Kyvos Reporting Studio executes a report by initializing the data sources and triggering section-level events in sequence, starting from the report, followed by the report header, page header, group header, details, group footer, report footer, and finally, the page footer.
Internal Page Caching and Stream Mode
During execution, pages are cached internally. When stream mode is enabled, Kyvos Reporting can render and display the first few pages of a long-running report immediately, allowing users to start viewing results without waiting for complete execution.
Note
Stream mode requires that the report does not contain forward references, such as Grand Summary fields in the Report Header.
Custom Scripting in Kyvos Reporting Studio
Kyvos Reporting Studio provides an event-driven scripting model using JavaScript syntax. You can use the Script Editor to write custom logic for different phases of the report lifecycle.
Important
Ensure that all scripting logic is placed within the correct event to guarantee proper execution and data handling.
Report-Level Events
The following table lists the events available at the report level:
Event | Description |
|---|---|
OnReportStart | Fires before the report layout is initialized. Use this to define logic before fields or sections are constructed. |
OnReportEnd | Fires after the entire report execution is complete. |
OnPageStart | Fires before each page is rendered. Use for logic that must run before every page generation. Does not ensure that the previous page rendering is complete. |
OnPageEnd | Fires after each page is rendered. Use for post-rendering operations or cleanup tasks. |
OnDataInitialize | Fires after the report is loaded and the SQL query is parsed. Use this event to dynamically add or remove report fields. |
OnFetchData (eof) | Fires for every row fetched from the database. Use for row-level calculations, transformations, or conditional logic. |
OnNoData | Fires when no rows are returned from the SQL query. Use this to set alternate messages or visibility controls for "no data" scenarios. |
These events allow you to create dynamic, responsive report behavior and logic tailored to your data and layout requirements. For detailed syntax and code samples, refer to the section below.