IReportGenerator interface

Defines a report generator and its interaction with the reporting engine.

Namespace:  Microsoft.Office.RecordsManagement.Reporting
Assembly:  Microsoft.Office.Policy (in Microsoft.Office.Policy.dll)

public interface IReportGenerator : IDisposable

When running a report, the reporting engine interacts with a reporting data source implementing IReportDataSource interface and a report generator implementing the IReportGenerator interface.

The reporting engine calls the StartReport(Stream, Hashtable) method to start a report, and it calls the StartQuery(SPSite, Hashtable) method to query for reporting data, followed by StartReport(Hashtable) to start the report. Then, for each row defined in the report generator, it calls [M:Microsoft.Office.RecordsManagement.Reporting.IReportDataSource.GetNextDataRow()] to get data for the next row. When the report generator has reached the maximum row limit, the reporting engine ends the report by calling the [M:Microsoft.Office.RecordsManagement.Reporting.IReportGenerator.EndReport()] method, and checks if there is more data to report by using the [IReportDataSource.HasMoreData] method.