翻譯|使用教程|編輯:楊鵬連|2021-07-12 09:39:34.660|閱讀 242 次
概述:FastReport 提供了 ADO、BDE、IBX、DBX、FIB 引擎。您可以創(chuàng)建自己的引擎,然后將其連接到 FastReport。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
FastReport VCL是用于 Delphi、C++ Builder、RAD Studio 和 Lazarus 的報(bào)告和文檔創(chuàng)建 VCL 庫。它提供了可視化模板設(shè)計(jì)器,可以訪問 30 多種格式,并可以部署到云、網(wǎng)站、電子郵件和打印中。
立即點(diǎn)擊下載FastReport VCL v6.9最新版
FastReport 不僅允許基于應(yīng)用程序中定義的數(shù)據(jù)構(gòu)建報(bào)告。您也可以直接在報(bào)告中定義自己的數(shù)據(jù)源(與數(shù)據(jù)庫的連接、查詢)。FastReport 提供了 ADO、BDE、IBX、DBX、FIB 引擎。您可以創(chuàng)建自己的引擎,然后將其連接到 FastReport。
下圖顯示了用于創(chuàng)建數(shù)據(jù)庫引擎的類層次結(jié)構(gòu)。新引擎組件以綠色突出顯示。
讓我們?cè)敿?xì)檢查一下基本類。
TfrxDialogComponent是所有非可視化組件的基礎(chǔ)類,可以放在一個(gè)FastReport報(bào)表設(shè)計(jì)對(duì)話窗體上。其中沒有定義任何重要的屬性或方法。
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繼承了一個(gè)類型的組件。對(duì)于它的創(chuàng)建,有必要覆蓋所有虛擬方法并將必要的屬性放在 topublished 部分中。此外,還需要為您的組件添加特定的屬性。
TfrxDataset, TfrxCustomDBDataset,TfrxDBDataset類提供數(shù)據(jù)訪問的功能。FastReport 核心使用這些組件進(jìn)行導(dǎo)航和尋址數(shù)據(jù)輸入字段。在這種情況下,它們是公共層次結(jié)構(gòu)的一部分,我們不感興趣。
TfrxCustomDataSet是派生自TDataSet. 從此類繼承的組件是“Query”、“Table”和“StoredProc”克隆。事實(shí)上,這個(gè)類將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– 表類型的數(shù)據(jù)庫組件的基本類。類涵蓋了 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 類型的組件繼承自該類。對(duì)于它的創(chuàng)建,有必要像往常一樣定義所需的屬性,數(shù)據(jù)庫。也有必要覆蓋來自TfrxCustomDataset,TfrxCustomTable類的虛擬方法。
TfrxCustomQuery是“查詢”類型的數(shù)據(jù)庫組件的基本類。此類是查詢類型組件的封面。
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屬性(對(duì)于所有 Query 組件都是通用的)在類中定義。由于不同的 Query 組件具有不同的參數(shù)實(shí)現(xiàn)(例如,TParams和TParameters),因此“Params”屬性具有TfrxParams類型,并且是具體參數(shù)類型的包裝器。
此類中定義了以下方法:
讓我們使用 IBX 示例來說明數(shù)據(jù)庫引擎的創(chuàng)建。完整的引擎原文可以在 SOURCE\IBX 目錄中找到。下面是一些引自原文的引文和我們的評(píng)論。
圍繞我們將建立包裝IBX組件TIBDatabase,TIBTable和TIBQuery。因此,我們的組件將被命名為TfrxIBXDatabase、TfrxIBXTable和TfrxIBXQuery。
如果您對(duì) FastReport 感興趣,歡迎加入 FastReport QQ 交流群:702295239
還想要更多嗎?您可以點(diǎn)擊閱讀【FastReport報(bào)表2021最新資源盤點(diǎn)】,查找需要的教程資源。上是FastReport .NET慧正在網(wǎng)火熱銷售中!>>查看價(jià)格詳情
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: