IReportGenerator IReportGenerator IReportGenerator Interface


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

public interface class IReportGenerator : IDisposable
public interface IReportGenerator : IDisposable
Public Interface IReportGenerator
Implements 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 Microsoft.Office.RecordsManagement.Reporting.IReportGenerator.StartReport(Stream,Hashtable) method to start a report, and it calls the Microsoft.Office.RecordsManagement.Reporting.IReportDataSource.StartQuery(SPSite,Hashtable) method to query for reporting data, followed by Microsoft.Office.RecordsManagement.Reporting.IReportDataSource.StartReport(Hashtable) to start the report. Then, for each row defined in the report generator, it calls 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 Microsoft.Office.RecordsManagement.Reporting.IReportGenerator.EndReport() method, and checks if there is more data to report by using the IReportDataSource.HasMoreData method.


MaxRows MaxRows MaxRows

Gets the maximum number of rows in a report.

MinRows MinRows MinRows

Gets the minimum number of rows in a report.


EndReport() EndReport() EndReport()

Ends the current report.

InjectDataRow(String[]) InjectDataRow(String[]) InjectDataRow(String[])

Injects a row of data into the current report.

OpenReportStream() OpenReportStream() OpenReportStream()

Opens the report stream.

StartReport(Stream, Hashtable) StartReport(Stream, Hashtable) StartReport(Stream, Hashtable)

Starts a report.

Applies to