TdxReportResolveConnectionEvent Type
The procedural type for manual data connection resolution events in a TdxReport component.
Declaration
TdxReportResolveConnectionEvent = procedure(ASender: TdxReport; const ADisplayName: string; var AConnection: TdxBackendCustomDataConnection) of object;
Parameters
| Name | Type | Description |
|---|---|---|
| ASender | TdxReport | Provides access to the Report Generator component that raised the data connection resolution event. |
| ADisplayName | string | Returns the target data connection name (DisplayName) referenced in the current scope (Viewer or Designer). |
| AConnection | TdxBackendCustomDataConnection | Specifies the data connection component that corresponds to the currently processed data connection name ( The initial You can use the |
Remarks
The TdxReportResolveConnectionEvent procedural type is designed for manual data connection resolution in a TdxReport component when two or more data connection components share the same display name.
An application can contain multiple data connection components (TdxBackendCustomDataConnection descendants) with the same DisplayName property value used to address these components in a report layout definition.
Automatic Data Connection Name Resolution
If the manual data connection resolution event is unhandled, the TdxReport component resolves data component display names automatically:
- Unique Component Display Names
- The TdxReport uses data connection components with corresponding display names as data sources.
- Multiple Matching Component Display Names
The TdxReport component iterates through all data connection components and searches the first component with the target display name in the following order:
- On the same form as the TdxReport.
- On a data module (TDataModule descendant instance).
- Any other data connection with the same display name.
Manual Data Connection Name Resolution/Event Occurrence
The manual data connection resolution event occurs every time a TdxReport component is about to access available data sources (in the Viewer or Designer scope):
- TdxReport | Report Viewer
- Viewer Scope. The manual data connection resolution event occurs when TdxReport/Report Viewer populates or updates placeholders within the layout definition with data – once per active data connection component referenced within the layout.
- Report Designer
- Designer Scope. The manual data connection resolution event occurs once for each active (that is, available to the Report Designer dialog) data connection component within the application.
You can assign a data connection component to the AConnection parameter within a TdxReportResolveConnectionEvent handler to manually map the component to the referred display name for the current data access/load operation.
In addition, you can assign nil (in Delphi) or nullptr (in C++Builder) to the AConnection parameter to hide the currently processed connection in the Report Designer dialog.
Note
- The manual data connection resolution event occurs even if the application or template/layout definition contains only one active data connection component (or multiple data connection components with unique DisplayName property values). You can remap a unique display name to another data connection component if necessary.
- This event never occurs for inactive data access components.
Direct TdxReportResolveConnectionEvent Type Reference
The TdxReport.OnResolveConnection event references the TdxReportResolveConnectionEvent procedural type.