FastReport VCL程序員手冊:報(bào)告繼承
FastReport VCL是用于Delphi,C ++ Builder,RAD Studio和Lazarus的報(bào)告和文檔創(chuàng)建VCL庫。它提供了可視化模板設(shè)計(jì)器,可以訪問為30多種格式,并可以部署到云,網(wǎng)站,電子郵件和打印中。
近日,F(xiàn)astReport VCL更新至v6.9,在新版本中,在PDF更新中增加了對以下對象的并行表單支持:文本,替換和圖片。能夠通過InteractiveForms字體子集屬性將所需的字形僅包含在相互之間形式中。同時(shí)修復(fù)了多個(gè)Bug問題。歡迎下載體驗(yàn)。(旁邊向下按鈕下載)
立即點(diǎn)擊下載FastReport VCL v6.9最新版
用戶手冊中描述了報(bào)告繼承。我們將在這里描述一些關(guān)鍵時(shí)刻。
如果將報(bào)告存儲在文件中,則需要設(shè)置文件夾名稱,F(xiàn)astReport將使用該文件夾名稱搜索基本報(bào)告。該文件夾的內(nèi)容將顯示在“文件|新建...”和“報(bào)告|選項(xiàng)...”對話框中:
該TfrxDesigner.TemplateDir屬性用于此目的。默認(rèn)情況下為空,F(xiàn)astReport將在包含項(xiàng)目的可執(zhí)行文件(.exe)的文件夾中搜索基本報(bào)告。您可以將絕對或相對路徑放入此屬性。
如果將報(bào)告存儲在數(shù)據(jù)庫中,則必須編寫代碼以從數(shù)據(jù)庫加載基本報(bào)告并獲取可用基本報(bào)告的列表。使用TfrxReport.OnLoadTemplate事件加載基本報(bào)告:
property OnLoadTemplate: TfrxLoadTemplateEvent read FOnLoadTemplate write FOnLoadTemplate; TfrxLoadTemplateEvent = procedure(Report: TfrxReport; const TemplateName: String) of object;此事件的處理程序必須將具有給定TemplateName的基本報(bào)表加載到Report對象中。這是此類處理程序的示例:
procedure TForm1.LoadTemplate(Report: TfrxReport; const TemplateName: String); var BlobStream: TStream; begin ADOTable1.First; while not ADOTable1.Eof do begin if AnsiCompareText(ADOTable1.FieldByName('ReportName').AsString, TemplateName) = 0 then begin BlobStream := TMemoryStream.Create; TBlobField(ADOTable1.FieldByName('ReportBlob')).SaveToStream(BlobStream); BlobStream.Position := 0; Report.LoadFromStream(BlobStream); BlobStream.Free; break; end; ADOTable1.Next; end; end;要獲取可用模板的列表,應(yīng)使用以下TfrxDesigner.OnGetTemplateList事件:
property OnGetTemplateList: TfrxGetTemplateListEvent read FOnGetTemplateList write FOnGetTemplateList; TfrxGetTemplateListEvent = procedure(List: TStrings) of object;此事件的處理程序必須將可用模板的列表返回到List參數(shù)中。這是此類處理程序的示例:
procedure TForm1.GetTemplates(List: TList); begin List.Clear; ADOTable1.First; while not ADOTable1.Eof do begin List.Add(ADOTable1.FieldByName('ReportName').AsString); ADOTable1.Next; end; end;FastReport可以繼承已經(jīng)創(chuàng)建的報(bào)告。為此,您應(yīng)該使用以下功能:
TfrxReport.InheritFromTemplate(const templName: String; InheritMode: TfrxInheritMode = imDefault): Boolean此功能允許從指示的報(bào)告繼承當(dāng)前加載的報(bào)告。該函數(shù)的第一個(gè)參數(shù)是父模板的文件名,第二個(gè)參數(shù)允許選擇繼承模式:
- imDefault-派生對話并提供重命名/刪除重復(fù)項(xiàng)的信息
- imDelete-刪除所有備份對象
- imRename-重命名所有備份對象
如果您對FastReport感興趣,歡迎加入FastReport QQ交流群:801349317
還想要更多嗎?您可以點(diǎn)擊閱讀【FastReport報(bào)表2020最新資源盤點(diǎn)】,查找需要的教程資源。讓人興奮的是FastReport .NET正在慧都網(wǎng)火熱銷售中!>>查看價(jià)格詳情