Table of Contents

Class ReportInstance

Namespace
DocWright.Reporting.Processing
Assembly
DocWright.Reporting.dll

A report bound to its data: parameters resolved, datasets read, data regions grouped, sorted and filtered, variables evaluated. It has no geometry; pagination turns it into pages.

public sealed class ReportInstance : IDisposable
Inheritance
ReportInstance
Implements
Inherited Members

Remarks

What is public, and why it is so little. The instance tree — group instances, cells, their rows — is what the paginator reads, and it stays internal until the paginator exists: a public shape designed before its only consumer would be the wrong one, and every public member is kept for good. What a host can use now is here: the parameters the run used, the culture it evaluated in, the diagnostics, and Evaluate(string) for any expression at report scope.

Threads. Nothing is computed after ReportProcessor returns it, so an instance may be read from several threads at once.

Properties

Culture

Gets the culture expressions were evaluated in: the report's language, or en-US.

Definition

Gets the definition the report was run from.

Diagnostics

Gets everything the run reported, in the order it was reported.

ExecutionTime

Gets the instant the report ran at, as the options supplied it.

Parameters

Gets the parameters the report ran with, in document order.

Methods

Dispose()

Releases the rows the instance holds. Further use raises ObjectDisposedException.

Evaluate(ReportExpression)

Evaluates a parsed expression at report scope against the run's data.

Evaluate(string)

Evaluates an expression at report scope — outside every data region — against the run's data: =Sum(Fields!Sales.Value, "Sales"), =Variables!Title.Value, =Parameters!Region.Label.