• <menu id="w2i4a"></menu>
  • logo FastReport VCL程序員手冊
    文檔首頁>>FastReport VCL程序員手冊>>FastReport VCL程序員手冊:通過代碼創(chuàng)建報告表單

    FastReport VCL程序員手冊:通過代碼創(chuàng)建報告表單


    FastReport VCL是用于Delphi,C ++ Builder,RAD Studio和Lazarus的報告和文檔創(chuàng)建VCL庫。它提供了可視化模板設(shè)計器,可以訪問為30多種格式,并可以部署到云,網(wǎng)站,電子郵件和打印中。

    近日,F(xiàn)astReport VCL更新至v6.9,在新版本中,在PDF更新中增加了對以下對象的并行表單支持:文本,替換和圖片。能夠通過InteractiveFormsFont子集屬性將所需的字形僅包含在相互形式中。同時修復了多個Bug問題。歡迎下載體驗。(單擊下方按鈕下載)

    立即點擊下載FastReport VCL v6.9最新版

    通常,您將使用手動創(chuàng)建報告。

    要手動創(chuàng)建報告,應按順序執(zhí)行以下步驟:

    • 清除報告組件
    • 添加數(shù)據(jù)源
    • 添加“數(shù)據(jù)”頁面
    • 添加報告頁面
    • 在頁面上添加樂隊
    • 設(shè)置初始的屬性,然后將其連接到數(shù)據(jù)
    • 在每個雙人上添加對象
    • 設(shè)置對象的屬性,然后將它們連接到數(shù)據(jù)
    我們有以下組件:frxReport1:TfrxReport和frxDBDataSet1:TfrxDBDataSet(最后一個連接到DBDEMOS的數(shù)據(jù),?Customer.db?表)。我們的報告將包含一在“報告標題”區(qū)域中,將出現(xiàn)一個帶有“ Hello FastReport!”的對象。文本,而“主數(shù)據(jù)”將包含一個對象,該對象具有指向“CustNo”字段的鏈接。
    帕斯卡爾:
    變種 數(shù)據(jù)頁:TfrxDataPage; 頁面:TfrxReportPage; 頻段:TfrxBand; DataBand:TfrxMasterData; 備注:TfrxMemoView;  {清除報告} frxReport1.Clear;  {將資料集加入報表可存取的資料集} frxReport1.DataSets.Add(frxDBDataSet1);  {添加“數(shù)據(jù)”頁面} DataPage:= TfrxDataPage.Create(frxReport1);  {添加頁面} 頁面:= TfrxReportPage.Create(frxReport1);  {創(chuàng)建一個唯一的名稱} Page.CreateUniqueName;  {默認設(shè)置字段,紙張和方向的大小} Page.SetDefaults;  {修改紙張的方向} Page.Orientation := poLandscape;
    
    { add a report title band}
    Band := TfrxReportTitle.Create(Page);
    Band.CreateUniqueName;
    
    { it is sufficient to set the ?Top? coordinate and height for a band }
    { both coordinates are in pixels }
    Band.Top := 0;
    Band.Height := 20;
    
    { add an object to the report title band }
    Memo := TfrxMemoView.Create(Band);
    Memo.CreateUniqueName;
    Memo.Text := 'Hello FastReport!';
    Memo.Height := 20;
    
    { this object will be stretched according to band’s width }
    Memo.Align := baWidth;
    
    { add the masterdata band }
    DataBand := TfrxMasterData.Create(Page);
    DataBand.CreateUniqueName;
    DataBand.DataSet := frxDBDataSet1;
    
    { the Top coordinate should be greater than the previously added band’s top + height}
    DataBand.Top := 100;
    DataBand.Height := 20;
    
    { add an object on master data }
    Memo := TfrxMemoView.Create(DataBand);
    Memo.CreateUniqueName;
    
    { connect to data }
    Memo.DataSet := frxDBDataSet1;
    Memo.DataField := 'CustNo';
    Memo.SetBounds(0, 0, 100, 20);
    
    { adjust the text to the right object’s margin }
    Memo.HAlign := haRight;
    
    { show the report }
    frxReport1.ShowReport;
    C ++:

    TfrxDataPage * DataPage;
    TfrxReportPage * Page;
    TfrxBand * Band;
    TfrxMasterData * DataBand;
    TfrxMemoView * Memo;
    
    // clear a report 
    frxReport1->Clear();
    
    // add a dataset to the list of ones accessible for a report 
    frxReport1->DataSets->Add(frxDBDataset1);
    
    // add the "Data" page 
    DataPage = new TfrxDataPage(frxReport1);
    
    // add a page
    Page = new TfrxReportPage(frxReport1);
    
    // create a unique name 
    Page->CreateUniqueName();
    
    // set sizes of fields, paper and orientation by default 
    Page->SetDefaults();
    
    // modify paper’s orientation
    Page->Orientation = poLandscape;
    
    // add a report title band
    Band = new TfrxReportTitle(Page);
    Band->CreateUniqueName();
    
    // it is sufficient to set the ?Top? coordinate and height for a band 
    // both coordinates are in pixels 
    Band->Top = 0;
    Band->Height = 20;
    
    // add an object to the report title band 
    Memo = new TfrxMemoView(Band);
    Memo->CreateUniqueName();
    Memo->Text = "Hello FastReport!";
    Memo->Height = 20;
    
    // this object will be stretched according to band’s width 
    Memo->Align = baWidth;
    
    // add the masterdata band 
    DataBand = new TfrxMasterData(Page);
    DataBand->CreateUniqueName();
    DataBand->DataSet = frxDBDataset1;
    
    // the Top coordinate should be greater than the previously added band’s top + height
    DataBand->Top = 100;
    DataBand->Height = 20;
    
    // add an object on master data 
    Memo = new TfrxMemoView(DataBand);
    Memo->CreateUniqueName();
    
    // connect to data 
    Memo->DataSet = frxDBDataset1;
    Memo->DataField = "CustNo";
    Memo->SetBounds(0, 0, 100, 20);
    
    // adjust the text to the right object’s margin 
    Memo->HAlign = haRight;
    
    // show the report 
    frxReport1->ShowReport(true);
    讓我們解釋一些細節(jié)。

    必須在報告中使用的所有數(shù)據(jù)源都必須添加到數(shù)據(jù)源列表中。在我們的情況下,這是使用

    frxReport1.DataSets.Add(frxDBDataSet1)
    line,否則,報告將不起作用。

    對于將內(nèi)部數(shù)據(jù)集插入TfrxADOTable到報表中,“數(shù)據(jù)”頁面是必需的。此類數(shù)據(jù)集只能放置在“數(shù)據(jù)”頁面上。

    Page.SetDefaults不需要調(diào)用,因為在這種情況下頁面將具有А4格式,頁邊距為0毫米。SetDefaults設(shè)置10mm頁邊距,并采用打印機默認具有的頁面尺寸和對齊方式。

    在頁面上添加帶區(qū)時,應確保它們不會相互重疊。為此,只需設(shè)置?Top?和?Height?坐標即可。修改?Left?和?Width?坐標毫無用處,因為帶始終具有其所在頁面的寬度(如果是垂直帶,則不正確–您應設(shè)置Left和Width屬性,并不在乎頂部和高度)。應該注意的是,樂隊在頁面上的位置順序非常重要。始終以與設(shè)計者相同的方式定位樂隊。

    對象的坐標和大小以像素為單位設(shè)置。因為Left,Top,Width,和Height所有對象的屬性有?擴展?類型,你可以指出非整數(shù)值。定義了以下常量,用于將像素轉(zhuǎn)換為厘米和英寸:

    fr01cm = 3.77953;
    fr1cm  = 37.7953;
    fr01in = 9.6;
    fr1in  = 96;
    例如,可以將帶子的高度設(shè)置為等于5毫米,如下所示:
    Band.Height := fr01cm * 5;  帶高度:= fr1cm * 0.5; 
    還想要更多嗎?您可以點擊閱讀【FastReport報表2020最新資源盤點】,查找需要的教程資源。讓人興奮的是FastReport .NET正在慧都網(wǎng)火熱銷售中!>>查看價格詳情
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    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); })();