IReportDataSource IReportDataSource IReportDataSource Interface


Defines a reporting data source and its interaction with the reporting engine.

public interface class IReportDataSource : IDisposable
public interface IReportDataSource : IDisposable
Public Interface IReportDataSource
Implements IDisposable


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

The reporting engine calls the StartQuery(SPSite, Hashtable) interface to query for reporting data, followed by the StartReport(Hashtable) to start the report. Then, for each row defined in the report generator, it calls the GetNextDataRow() to get data for the next row. When the report generator has reached maximum row limit, the reporting engine checks if there is more data to report by using the HasMoreData interface.


HasMoreData HasMoreData HasMoreData

Whether the data source has more data to report.


GetNextDataRow() GetNextDataRow() GetNextDataRow()

Gets the next row of data.

StartQuery(SPSite, Hashtable) StartQuery(SPSite, Hashtable) StartQuery(SPSite, Hashtable)

Starts a query for reporting data on a site.

StartReport(Hashtable) StartReport(Hashtable) StartReport(Hashtable)

Starts a report with the specified parameters.

Applies to