Table of Contents

Class ReportDefinition

Namespace
DocWright.Reporting
Assembly
DocWright.Reporting.dll

A report definition: the whole of an .rdl or .rdlc file, mutable and lossless.

public sealed class ReportDefinition
Inheritance
ReportDefinition
Inherited Members

Remarks

This is what a report designer loads, edits and saves. Everything the file contained is reachable through Root, including elements and namespaces DocWright does not model, so a save writes back what the author wrote plus the edits and nothing else.

The typed members here are a thin projection over the tree, not a second copy of it: each one reads and writes the underlying element, so there is no state to keep in step.

Constructors

ReportDefinition(RdlElement)

Initializes a definition around a root element.

Properties

Author

Gets or sets the report's Author. Null means the report states none; setting null removes it.

DataSets

Gets the report's datasets, in document order.

DataSources

Gets the report's data sources, in document order.

Description

Gets or sets the report's Description. Null means the report states none; setting null removes it.

Language

Gets the report's Language, or null when it states none.

ReportParameters

Gets the report's parameters, in document order.

Root

Gets the root Report element.

SchemaVersion

Gets the schema version the root element's namespace denotes.

SourceNamespace

Gets the namespace the root element actually carried.

Methods

Clone()

Creates a deep copy of this definition.

NamedElements()

Enumerates every element that carries a Name attribute, in document order.

SetValue(RdlElement, string, string?)

Sets a simple child element's text, creating it in the position the schema declares, updating it where it already exists, and removing it when the value is null.

StructurallyEquals(ReportDefinition?)

Compares two definitions by structure, ignoring the prefixes each happened to use.

TypeKeyOf(RdlElement)

Resolves the schema type of an element in this definition.