Table of Contents

Delegate ReportSubreportResolver

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

Returns the definition a subreport names, or null when the host has none for it.

public delegate ReportDefinition? ReportSubreportResolver(ReportSubreportRequest request)

Parameters

request ReportSubreportRequest

Which subreport is asked for, and by which report.

Returns

ReportDefinition

The subreport's definition, or null to leave the subreport unrun (DXP9211).

Remarks

DocWright never reads a file or fetches a URL to find a subreport. A ReportName comes from a report definition, which is untrusted, so resolving it — against a catalogue, a folder the host chose, or a fixed set of definitions — is the host's decision, made here.

The resolver is called once per subreport item per run, not once per row: a subreport in a tablix of a thousand rows asks for its definition once and runs a thousand times. It may be called concurrently when reports are processed concurrently, and should return the same definition for the same name.

Constructors

ReportSubreportResolver(object, nint)

Methods

BeginInvoke(ReportSubreportRequest, AsyncCallback, object)
EndInvoke(IAsyncResult)
Invoke(ReportSubreportRequest)