• <menu id="w2i4a"></menu>
  • logo FastReport VCL程序員手冊
    文檔首頁>>FastReport VCL程序員手冊>>FastReport VCL程序員手冊:報(bào)告繼承

    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-重命名所有備份對象
    注意!父模板的搜索是參考當(dāng)前模板完成的,這對于將目錄結(jié)構(gòu)保持在報(bào)表存儲位置是必需的??焖賵?bào)告使用相對路徑,這就是為什么不必?fù)?dān)心應(yīng)用程序傳輸?shù)脑颍ㄎㄒ坏睦馐钱?dāng)當(dāng)前模式和父模板放置在不同的載體上或使用了網(wǎng)絡(luò)路徑時(shí))。


    如果您對FastReport感興趣,歡迎加入FastReport QQ交流群:801349317

    還想要更多嗎?您可以點(diǎn)擊閱讀【FastReport報(bào)表2020最新資源盤點(diǎn)】查找需要的教程資源。讓人興奮的是FastReport .NET正在慧都網(wǎng)火熱銷售中!>>查看價(jià)格詳情

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();