翻譯|使用教程|編輯:楊鵬連|2021-07-12 09:39:34.660|閱讀 242 次
概述:FastReport 提供了 ADO、BDE、IBX、DBX、FIB 引擎。您可以創建自己的引擎,然后將其連接到 FastReport。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
FastReport VCL是用于 Delphi、C++ Builder、RAD Studio 和 Lazarus 的報告和文檔創建 VCL 庫。它提供了可視化模板設計器,可以訪問 30 多種格式,并可以部署到云、網站、電子郵件和打印中。
FastReport 不僅允許基于應用程序中定義的數據構建報告。您也可以直接在報告中定義自己的數據源(與數據庫的連接、查詢)。FastReport 提供了 ADO、BDE、IBX、DBX、FIB 引擎。您可以創建自己的引擎,然后將其連接到 FastReport。
下圖顯示了用于創建數據庫引擎的類層次結構。新引擎組件以綠色突出顯示。
讓我們詳細檢查一下基本類。
TfrxDialogComponent是所有非可視化組件的基礎類,可以放在一個FastReport報表設計對話窗體上。其中沒有定義任何重要的屬性或方法。
TfrxCustomDatabase class 是“Database”類型的 DB 組件的基本類。
TfrxCustomDatabase = class(TfrxDialogComponent)
protected
procedure SetConnected(Value: Boolean); virtual;
procedure SetDatabaseName(const Value: String); virtual;
procedure SetLoginPrompt(Value: Boolean); virtual;
procedure SetParams(Value: TStrings); virtual;
function GetConnected: Boolean; virtual;
function GetDatabaseName: String; virtual;
function GetLoginPrompt: Boolean; virtual;
function GetParams: TStrings; virtual;
public
procedure SetLogin(const Login, Password: String); virtual;
property Connected: Boolean read GetConnected write SetConnected default False;
property DatabaseName: String read GetDatabaseName write SetDatabaseName;
property LoginPrompt: Boolean read GetLoginPrompt write SetLoginPrompt default True;
property Params: TStrings read GetParams write SetParams;
end;
此類中定義了以下屬性:
從給定的類TDatabase繼承了一個類型的組件。對于它的創建,有必要覆蓋所有虛擬方法并將必要的屬性放在 topublished 部分中。此外,還需要為您的組件添加特定的屬性。
TfrxDataset, TfrxCustomDBDataset,TfrxDBDataset類提供數據訪問的功能。FastReport 核心使用這些組件進行導航和尋址數據輸入字段。在這種情況下,它們是公共層次結構的一部分,我們不感興趣。
TfrxCustomDataSet是派生自TDataSet. 從此類繼承的組件是“Query”、“Table”和“StoredProc”克隆。事實上,這個類將TDataSet.
TfrxCustomDataset = class(TfrxDBDataSet)
protected
procedure SetMaster(const Value: TDataSource); virtual;
procedure SetMasterFields(const Value: String); virtual;
public
property DataSet: TDataSet;
property Fields: TFields readonly;
property MasterFields: String;
property Active: Boolean;
published
property Filter: String;
property Filtered: Boolean;
property Master: TfrxDBDataSet;
end;
類中定義了以下屬性:
TfrxCustomTable– 表類型的數據庫組件的基本類。類涵蓋了 Table 類的組件。
TfrxCustomTable = class(TfrxCustomDataset)
protected
function GetIndexFieldNames: String; virtual;
function GetIndexName: String; virtual;
function GetTableName: String; virtual;
procedure SetIndexFieldNames(const Value: String); virtual;
procedure SetIndexName(const Value: String); virtual;
procedure SetTableName(const Value: String); virtual;
published
property MasterFields;
property TableName: String read GetTableName write SetTableName;
property IndexName: String read GetIndexName write SetIndexName;
property IndexFieldNames: String read GetIndexFieldNames write SetIndexFieldNames;
end;
類中定義了以下屬性:
Table 類型的組件繼承自該類。對于它的創建,有必要像往常一樣定義所需的屬性,數據庫。也有必要覆蓋來自TfrxCustomDataset,TfrxCustomTable類的虛擬方法。
TfrxCustomQuery是“查詢”類型的數據庫組件的基本類。此類是查詢類型組件的封面。
TfrxCustomQuery = class(TfrxCustomDataset)
protected
procedure SetSQL(Value: TStrings); virtual; abstract;
function GetSQL: TStrings; virtual; abstract;
public
procedure UpdateParams; virtual; abstract;
published
property Params: TfrxParams;
property SQL: TStrings;
end;
SQL和Params屬性(對于所有 Query 組件都是通用的)在類中定義。由于不同的 Query 組件具有不同的參數實現(例如,TParams和TParameters),因此“Params”屬性具有TfrxParams類型,并且是具體參數類型的包裝器。
此類中定義了以下方法:
讓我們使用 IBX 示例來說明數據庫引擎的創建。完整的引擎原文可以在 SOURCE\IBX 目錄中找到。下面是一些引自原文的引文和我們的評論。
圍繞我們將建立包裝IBX組件TIBDatabase,TIBTable和TIBQuery。因此,我們的組件將被命名為TfrxIBXDatabase、TfrxIBXTable和TfrxIBXQuery。
如果您對 FastReport 感興趣,歡迎加入 FastReport QQ 交流群:702295239
還想要更多嗎?您可以點擊閱讀【FastReport報表2021最新資源盤點】,查找需要的教程資源。上是FastReport .NET慧正在網火熱銷售中!>>查看價格詳情
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: