FastReport VCL程序員手冊(cè):報(bào)告繼承
FastReport VCL是用于Delphi,C ++ Builder,RAD Studio和Lazarus的報(bào)告和文檔創(chuàng)建VCL庫(kù)。它提供了可視化模板設(shè)計(jì)器,可以訪問(wèn)為30多種格式,并可以部署到云,網(wǎng)站,電子郵件和打印中。
	近日,F(xiàn)astReport VCL更新至v6.9,在新版本中,在PDF更新中增加了對(duì)以下對(duì)象的并行表單支持:文本,替換和圖片。能夠通過(guò)InteractiveForms字體子集屬性將所需的字形僅包含在相互之間形式中。同時(shí)修復(fù)了多個(gè)Bug問(wèn)題。歡迎下載體驗(yàn)。(旁邊向下按鈕下載)
立即點(diǎn)擊下載FastReport VCL v6.9最新版
用戶(hù)手冊(cè)中描述了報(bào)告繼承。我們將在這里描述一些關(guān)鍵時(shí)刻。
如果將報(bào)告存儲(chǔ)在文件中,則需要設(shè)置文件夾名稱(chēng),F(xiàn)astReport將使用該文件夾名稱(chēng)搜索基本報(bào)告。該文件夾的內(nèi)容將顯示在“文件|新建...”和“報(bào)告|選項(xiàng)...”對(duì)話(huà)框中:
	
該TfrxDesigner.TemplateDir屬性用于此目的。默認(rèn)情況下為空,F(xiàn)astReport將在包含項(xiàng)目的可執(zhí)行文件(.exe)的文件夾中搜索基本報(bào)告。您可以將絕對(duì)或相對(duì)路徑放入此屬性。
	如果將報(bào)告存儲(chǔ)在數(shù)據(jù)庫(kù)中,則必須編寫(xiě)代碼以從數(shù)據(jù)庫(kù)加載基本報(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對(duì)象中。這是此類(lèi)處理程序的示例:
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ù)中。這是此類(lèi)處理程序的示例:
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-派生對(duì)話(huà)并提供重命名/刪除重復(fù)項(xiàng)的信息
- imDelete-刪除所有備份對(duì)象
- imRename-重命名所有備份對(duì)象
	
	如果您對(duì)FastReport感興趣,歡迎加入FastReport QQ交流群:801349317
還想要更多嗎?您可以點(diǎn)擊閱讀【FastReport報(bào)表2020最新資源盤(pán)點(diǎn)】,查找需要的教程資源。讓人興奮的是FastReport .NET正在慧都網(wǎng)火熱銷(xiāo)售中!>>查看價(jià)格詳情

 QQ交談
QQ交談 在線咨詢(xún)
在線咨詢(xún) 
                 
                
 渝公網(wǎng)安備
            50010702500608號(hào)
渝公網(wǎng)安備
            50010702500608號(hào)
             
            
 客服熱線
客服熱線