Namespace Reportman.Reporting
Classes
AliasCollection
Strongly typed collection of AliasCollectionItem entries held by a DatasetAlias component.
AliasCollectionItem
A single dataset alias entry, pairing an (upper-cased) alias name with the DataTable it refers to and tracking the current row used during evaluation.
BarcodeItem
A report print item that evaluates an expression and draws it as a barcode of the configured BarType, emitting bar/space (or QR module) rectangles into the metafile with optional checksum, rotation and colors.
BaseReport
Base class for Report, defines basic functionallity
ChangeObjectOperation
A single undoable change to a report component (add, remove, modify, rename or swap), recording the affected component, its parent/index context and the list of property changes.
ChangeOperationItem
Records the change of a single property within a ChangeObjectOperation, keeping its name, type and the old and new values for undo and redo.
ChartItem
A printable report item that builds and renders a chart from expression-driven data series, accumulating values, captions and colors as the subreport iterates and drawing the result through the report's charting driver.
DBFExport
Exports a DataTable to a dBASE IV (.DBF) file via an OLE DB connection, creating the table and inserting rows while reporting progress and supporting cancellation.
DataInfo
DatabaInfo stores information about a dataset, a Report have a collection of dataset definitions. Each dataset is related to one connection (DatabaseInfo)ReportDataInfos
DataInfos
Collection of DataInfo items
DataNeededEventArgs
Arguments for the DataNeededEvent, carrying the originating Evaluator and the name of the dataset that needs to be provided.
DatabaseInfo
DatabaseInfo stores information about database connectivity, a Report have a collection of connection definitions. Each connection can use diferent connectivity technology (database providers). ReportDatabaseInfos
DatabaseInfos
Collection of a report's database connection definitions, indexable by alias and holding the shared in-memory DataSet; supports cloning for a new report owner.
DatasetAlias
DatasetAlias is a component that can contain references to datasets for substitution in report dataset list or expression evaluator
DbParameterInfo
Represents a structured parameter for remote SQL execution via HTTP Agent. Ensures type safety and prevents SQL injection.
DirectAgentExecutor
IDbCommandExecuter that tries the direct WebRTC DataChannel transport first and falls back to HttpAgentExecutor transparently if the channel cannot be opened (corporate firewall, STUN unreachable, Agent that doesn't speak the protocol …).
Pattern mirrors the proven path in
ReportmanAI/Reportman.Hub.Client/HubApiClient.DataChannel.cs:
- UseDirectChannel master switch (default true).
- 10-minute cooldown after a failed negotiation, so subsequent queries don't re-pay the open-timeout (~5 s) on each one.
- Per-database pool reuses the warm channel across calls.
- Effective transport surfaced via LastConnectionMode and the ConnectionModeChanged event so a UI chip can bind to it without having to know about WebRTC.
.NET Framework (net48) builds compile this file out — Reportman.DataChannel requires .NET 6+ (SIPSorcery). On net48 consumers get only the HTTP path, identical to the Linux/FPC behaviour of the Delphi engine.
EvalException
Definition of a specialiced exception used by expression evaluator
EvalIdenExpression
An evaluator identifier function that resolves to the value of an associated ExpressionItem, evaluating it on demand.
EvalIdentifier
EvalIdentifier is the base class for all objects capable of integration with Evaluator,this includes variables, functions, constants...
EvalIdentifiers
Collections of Evaluator identifiers
EvalIdentifiers.EvalIdentifierEnumerator
Inner class implements IEnumerator interface:
EvalParser
Class used by Evaluator to divide a expression into tokens
Evaluator
Evaluator is an expression evaluator, it includes variable assignment and support for dataset fields, function calls are also supported
ExpressionItem
A report item that evaluates an expression and prints its formatted result, supporting aggregates (sum, min, max, average, standard deviation), page-count variables, optional export values, HTML content and splitting across multiple pages.
ExternalReport
Helper operations for moving subreports between report documents: exporting a single subreport (with its related datasets and parameters) to a stream, deleting a subreport and its dependencies, and importing the contents of one report into another.
HttpAgentCommand
IDbCommand implementation for HttpAgent that stores SQL and parameters for later execution by HttpAgentExecutor.
HttpAgentExecutor
Executes SQL commands via HTTP Agent API. Implements IDbCommandExecuter to integrate with the reporting engine.
HttpAgentParameter
IDataParameter implementation for HttpAgent.
HttpAgentParameterCollection
IDataParameterCollection implementation for HttpAgent.
IdenConstant
Class avaible to define constants in expression evaluator
IdenFunction
Base class to implement evaluator functions
IdenVariable
Identifier with the functionality of a variable
IdenVariableParam
An evaluator variable identifier backed by a report Param, so reading or assigning the variable in an expression reflects and updates that parameter's last value.
ImageItem
A positioned report item that prints an image, taken either from an embedded stream or from an expression, honoring the draw style, resolution, rotation and image-sharing settings.
LabelItem
A report print item that renders a static, language-aware text label, selecting the string for the report's current language and supporting optional HTML content.
PagedDataTable
A DataTable that loads rows incrementally from an IDataReader in pages of PageSize records, tracking end-of-data and raising a change event.
Param
A report parameter prompted from the user, carrying its typed value, localized descriptions/hints/error messages, validation rule and optional list, lookup or search dataset that supplies selectable values.
Params
An ordered, self-growing collection of report Param objects, indexable by position or by alias, with add/insert/remove/swap operations and support for enumeration, cloning and JSON serialization.
Params.ParamEnumerator
Iterates over the Param items contained in a Params collection.
ParamsConverter
Newtonsoft.Json converter that serializes a Params collection as a plain JSON array of parameters and reconstructs it when reading.
PrintItem
Basic class providing more basic functionality this item provides printing capability and some events
PrintItemText
Base class for any report item containing text properties, ExpressionItem and LabelItem are examples
PrintPosItem
Base print item providing position and alignment properties
PrintPosItemConverter
Json.NET converter that serializes and deserializes PrintPosItem instances, using the "className" discriminator to instantiate the correct concrete report item type (shape, label, expression, image, barcode or chart).
Report
Concrete report document derived from BaseReport; it drives the page-generation lifecycle (BeginPrint/PrintNextPage) and rewires its child objects — params, database/data info, subreports, sections and items — back to the report after deserialization.
ReportDataset
ReportDataset is used internally by the reporting engine. Allow navigation in a IDataReader, using a two record buffer, so you can go back one record, but not two. The navigation is done forward, and does not consume memory (like IDataReader).
ReportException
Exception class, used by reporting engine when an error in report processing occur
ReportItem
Base classs for Report items providing common base functionality, and a relation to the owner (Report). Report Section
ReportItems
Collections of ReportItems
ReportItems.ReportItemEnumerator
Inner class implements IEnumerator interface:
ReportLibraryConfig
Configuration for a report library connection: the database driver, connection string and table/field mapping used to read and save report templates from a database, including optional HttpAgent (remote agent) credentials.
ReportLibraryConfigCollection
A collection of ReportLibraryConfig entries that can be persisted to and loaded from an INI file (repmandlib.ini), one section per connection.
ReportLibrarySelection
Identifies a specific report by name within a ReportLibraryConfig and holds its loaded stream, providing a convenience method to save a report back to that library entry.
ReportNamedException
Exception class, used by reporting engine when an error in report item by name
ReportReader
Class used to read report template from a file (or stream) saved in xml format
ReportWriter
Class used to write a report template to a file (or stream) in xml format
ReportmanAgentClient
HTTP client for the Reportman AI agent service (api.reportman.es) that streams AI authoring requests — SQL suggestion/translation, expression suggestion, and report modification — over server-sent events, reporting incremental progress and returning the final JSON result.
Section
The sections are contained inside subreports, depending on the section type it will print after the detail (group header), before the detail (group header), or in special places (page headers and footers)
SectionFillOrderHelper
AI-friendly semantic fill order for repeated section printing.
Sections
Collection of sections
ShapeItem
A report print item that draws a geometric shape (rectangle, ellipse, line, etc.) with a configurable pen and brush, optionally deriving the fill color from an evaluated expression.
SqlParser
Class used by Evaluator to divide a expression into tokens
SubReport
A subreport bound to a data alias, holding the ordered collection of sections (page headers/footers, group headers/footers and details) that are printed for each record of its dataset, and managing group breaks and page-count tracking.
SubReports
Strongly typed list of the SubReport instances contained in a report.
UndoCue
Undo/redo history for a report, holding queues of grouped change operations and applying them to a Report to step backward or forward through edits.
VariantCoercion
Applies Delphi-compatible Variant type coercion rules, promoting two operands to a common base type before comparison or arithmetic and raising on invalid combinations.
VariantJsonConverter
Newtonsoft.Json converter that serializes a Variant as a JSON object carrying its VariantType and value, and reconstructs the Variant when reading.
VariantSystemTextJsonConverter
System.Text.Json converter that serializes a Variant as a JSON object with Type and Value properties, and reconstructs the typed Variant when reading.
Variants
Collection of Variant values
Structs
Variant
Implementation of a Variant type with common arithmetic and logic operations. Variant is a container, not a class reference, that is when you assign a variant to another variant, you are copying content, just like you work with base types like int, char, string. The Variant type is a useful feature to implement an expression evaluator.
Enums
Aggregate
Defines the scope over which an aggregate value is accumulated: none, per group, per page, or across the whole report.
AggregateType
The kind of aggregation applied to a value: sum, minimum, maximum, average, or standard deviation.
BackStyleType
The background of a section can be visible only on design time, while preview only (will not print) or also print the background
BarcodeType
The barcode symbology a BarcodeItem renders, covering the 2-of-5 family, Code 39/93/128, MSI, PostNet, Codabar, EAN-8/13, PDF417 and QR.
DatasetType
A dataset definition could represent a table inside a database or a sql query, in .Net version, it's always a Query. DataInfo
DotNetDriverType
The DotNetDriverType indicates the database provider to be used when you select DriverType.DotNet, that is .Net 1.x, in this versions of .Net there were no abstraction for Database access, so you must select and pre-link into your executable references to the database client library. This type is not used in .Net 2.x because the functionality of database providers, configured in machine.config or application.configDatabaseInfo
DriverType
The DriverType is part of a report database information definition, indicating the technology to be used to connect to the database, in .Net version you can choose DotNet or DotNet2 depending on the version you are using. DatabaseInfo
OperationType
The kind of edit recorded by a ChangeObjectOperation: adding, modifying, removing, reordering (swap up/down) or renaming a report component.
PageSizeType
Page size configuration for report scheme
ParamType
Type used in report parameters, for each parameter type, a diferent action will be performed to assign the value before executing the report, a parameter can be assigned to any number of database querys
PrintItemAlign
Enumeration indicating the alignment of a Report Item related to his parent. This is useful when the parent Section have properties like AutoExpand or AutoContract set, you can place a Rectangle and set Align to AllClient, the rectangle will be adapted at run time to fill the section. You can also align to bottom or expand lines from top to bottom. PrintPosItemSection
PropertyType
Identifies the data type of a property value tracked in an undo/redo operation, used to convert the stored value back to the correct type when applied.
SectionType
Section type, each section of a subreport have different function
SharedImageType
Enumeration indicating if the image should be shared, so only one instance of the image is stored while generating the report (ReportMetafile), if the image is repeated in the report, it's recommended to share it, so the image is stored only once, and not for each page (a internal reference is done). ImageItem
SkipType
A section can skip to a page or position
StreamFormatType
Report stream format
StreamVersion
Identifies the version of the report stream/serialization format, selecting between the legacy layout (V1) and the current format (V2) when saving a report.
SubReportEvent
Notifications raised during report processing to inform a subreport and its sections of state transitions such as report start, data/group/page changes and subreport start/end.
TokenType
This enumeration is used in string parsing functions, a string is divided in tokens, each token can represent operators, symbols...
VariantType
Variant internal type, used to store current type value for a Variant
Delegates
DataChange
Delegate used by ReportDataset to trigger an event when CurrentRow data changes
DataNeededEvent
Callback raised by the Evaluator when a referenced dataset is not yet available, giving the host a chance to open or supply it before field resolution retries.
DataProgressEvent
Progress callback invoked periodically during a long export, reporting the number of
records processed out of the total; set docancel to true to abort the operation.
PagedDataChange
Callback raised by a PagedDataTable each time a new row is read and added, allowing observers to react to incremental data loading.
ReportDataset.CreateTableEvent
Callback invoked once the table schema is built; returns true to request that all rows be loaded into memory.
ReportDataset.UpdateDataEvent
Callback invoked after a record has been fetched, allowing the consumer to inspect or post-process the new row.
ReportDataset.UpdateDataEventAsync
Asynchronous callback invoked when a record is fetched, receiving the raw column values and target table for deferred processing.
ReportProgress
Delegate definition for report processing
ReportmanAgentClient.ProgressEventHandler
Callback raised for each streamed progress event from the agent, carrying the actor, stage, chunk type and content, token counts, progress identifier, and prefill percentage.
ReportmanAgentClient.ResultEventHandler
Callback raised when an agent request completes, delivering the final result JSON document or an error message if the request failed.