翻譯|使用教程|編輯:楊鵬連|2021-04-20 10:03:09.377|閱讀 208 次
概述:通常情況下,使用設(shè)計(jì)器可以創(chuàng)建大多數(shù)報(bào)告。但是,在某些情況下(例如,當(dāng)報(bào)告的表單未知時(shí)),有必要通過代碼手動(dòng)創(chuàng)建報(bào)告。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
FastReport VCL是用于 Delphi,C++ Builder,RAD Studio 和 Lazarus 的報(bào)告和文檔創(chuàng)建 VCL 庫。它提供了可視化的海網(wǎng)模板設(shè)計(jì)器,訪問數(shù)據(jù)源,報(bào)告引擎,預(yù)覽,將過濾器導(dǎo)出為 30 多種格式,并可以部署到云,Web,電子郵件和打印中。
牛仔,F FontReport VCL 更新至 VCL 中版本 6.9,在 PDF 中導(dǎo)出了對以下對象的新增字體圖片支持:文本表格活動(dòng)子集屬性將包含在。形式形式中。同時(shí)修復(fù)了多個(gè)Bug問題。歡迎下載體驗(yàn)。(點(diǎn)擊下方按鈕下載)
立即點(diǎn)擊下載FastReport VCL v6.9最新版
通常,您將使用設(shè)計(jì)器創(chuàng)建大多數(shù)報(bào)告。但是,在某些情況下(例如,當(dāng)報(bào)告的表單未知時(shí)),有通過代碼手動(dòng)創(chuàng)建報(bào)告。
要手動(dòng)創(chuàng)建報(bào)告,應(yīng)按順序執(zhí)行以下步驟:
無功 數(shù)據(jù)頁:TfrxDataPage; 頁面:TfrxReportPage; 頻段:TfrxBand; 數(shù)據(jù)帶:TfrxMasterData; 備忘錄:TfrxMemoView; {清除報(bào)告} frxReport1.清除; { 將數(shù)據(jù)集添加到報(bào)表可訪問的列表中 } frxReport1.DataSets.Add(frxDBDataSet1); { 添加“數(shù)據(jù)”頁面 } 數(shù)據(jù)頁:= TfrxDataPage.Create(frxReport1); { 添加頁面 } 頁 := TfrxReportPage.Create(frxReport1); { 創(chuàng)建一個(gè)唯一的名稱 } Page.CreateUniqueName; { 默認(rèn)設(shè)置字段、紙張和方向的大小} Page.SetDefaults; { 修改紙張方向 } Page.Orientation := poLandscape; { 添加報(bào)告標(biāo)題帶} Band := TfrxReportTitle.Create(Page); Band.CreateUniqueName; { 為一個(gè)帶設(shè)置 ?Top? 坐標(biāo)和高度就足夠了 } { 兩個(gè)坐標(biāo)都以像素為單位 } Band.Top := 0; 帶.高度:= 20; { 向報(bào)表標(biāo)題帶添加對象 } 備忘錄:= TfrxMemoView.Create(Band); Memo.CreateUniqueName; Memo.Text := 'Hello FastReport!'; 備注.高度:= 20; { 此對象將根據(jù)帶的寬度進(jìn)行拉伸 } Memo.Align := baWidth; { 添加主數(shù)據(jù)帶 } DataBand := TfrxMasterData.Create(Page); DataBand.CreateUniqueName; DataBand.DataSet := frxDBDataSet1; {頂部坐標(biāo)應(yīng)該大于之前添加的band的頂部+高度} DataBand.Top := 100; 數(shù)據(jù)帶高度:= 20; { 在主數(shù)據(jù)上添加一個(gè)對象 } 備忘錄:= TfrxMemoView.Create(DataBand); Memo.CreateUniqueName; { 連接到數(shù)據(jù) } Memo.DataSet := frxDBDataSet1; Memo.DataField := 'CustNo'; Memo.SetBounds(0, 0, 100, 20); { 將文本調(diào)整到右側(cè)對象的邊距 } Memo.HAlign := haRight; { 顯示報(bào)告 } frxReport1.ShowReport;C++:
TfrxDataPage * 數(shù)據(jù)頁; TfrxReportPage * 頁; TfrxBand * 頻段; TfrxMasterData * 數(shù)據(jù)帶; TfrxMemoView * 備忘錄; // 清除報(bào)告 frxReport1->清除(); // 將數(shù)據(jù)集添加到報(bào)表可訪問的數(shù)據(jù)集列表中 frxReport1->DataSets->Add(frxDBDataset1); // 添加“數(shù)據(jù)”頁面 DataPage = new TfrxDataPage(frxReport1); // 添加一個(gè)頁面 頁 = 新 TfrxReportPage(frxReport1); // 創(chuàng)建一個(gè)唯一的名稱 頁面->CreateUniqueName(); // 默認(rèn)設(shè)置字段、紙張和方向的大小 頁面->SetDefaults(); // 修改紙的方向 頁面->方向= poLandscape; // 添加報(bào)表標(biāo)題帶 Band = new TfrxReportTitle(Page); 樂隊(duì)-> CreateUniqueName(); // 為波段設(shè)置?頂部?坐標(biāo)和高度就足夠了 // 兩個(gè)坐標(biāo)都以像素為單位 波段->頂部 = 0; 帶->高度= 20; // 添加一個(gè)對象到報(bào)表標(biāo)題欄 備忘錄 = 新 TfrxMemoView(Band); 備忘錄-> CreateUniqueName(); Memo->Text = "Hello FastReport!"; 備注->高度 = 20; // 此對象將根據(jù)帶的寬度進(jìn)行拉伸 備注->對齊 = baWidth; // 添加主數(shù)據(jù)帶 DataBand = new TfrxMasterData(Page); DataBand->CreateUniqueName(); 數(shù)據(jù)帶->數(shù)據(jù)集 = frxDBDataset1; // 頂部坐標(biāo)應(yīng)大于先前添加的帶的頂部 + 高度 數(shù)據(jù)帶->頂部 = 100; 數(shù)據(jù)帶->高度 = 20; // 在主數(shù)據(jù)上添加一個(gè)對象 備忘錄 = 新 TfrxMemoView(DataBand); 備忘錄-> CreateUniqueName(); // 連接數(shù)據(jù) 備忘錄->數(shù)據(jù)集 = frxDBDataset1; Memo->DataField = "CustNo"; 備忘錄->SetBounds(0, 0, 100, 20); // 將文本調(diào)整到右側(cè)對象的邊距 備忘錄->HAlign = haRight; // 顯示報(bào)告 frxReport1->ShowReport(true);讓我們解釋一些細(xì)節(jié)。
必須在報(bào)告中使用的所有數(shù)據(jù)源都必須添加到數(shù)據(jù)源列表中。在我們的情況下,這是使用
frxReport1.DataSets.Add(frxDBDataSet1)
行,否則,報(bào)告將。
對于將內(nèi)部數(shù)據(jù)集插入 TfrxADOTable 到報(bào)表中,“數(shù)據(jù)”頁面是必需的。外部數(shù)據(jù)集可以放置在“數(shù)據(jù)”頁面上。
Page.SetDefaults 無需調(diào)用,因?yàn)樵谶@種情況下頁面將具有 4 格式,邊距為 0 毫米。SetDefaults 設(shè)置為 10 毫米邊距,并采用打印機(jī)默認(rèn)具有的頁面尺寸和頁面頁面方式。
在頁面上添加區(qū)時(shí),應(yīng)確保它們不會(huì)重疊在一起。有多少設(shè)置?高度?和坐標(biāo)圖表頂部。修改?左?和?寬度?坐標(biāo)無用處,帶上總是有的其所在頁面的寬度(如果是帶,則不是您的正確應(yīng)設(shè)置左和寬度屬性)。注意是,樂隊(duì)在頁面上的順序位置非常重要。總是以與應(yīng)該設(shè)計(jì)者相同的方式定位樂隊(duì)。
對象的坐標(biāo)和大小以像素為單位設(shè)置。因?yàn)長eft,頂部,寬度,和高度所有對象的屬性有?擴(kuò)展?類型,你可以潛在非潛在值。定義了以下常量,用于將像素轉(zhuǎn)換為厘米和英寸:
fr01cm = 3.77953; fr1cm = 37.7953; fr01in = 9.6; fr1in = 96;例如,可以將帶子的高度設(shè)置為 5 毫米,如下所示:
Band.Height := fr01cm * 5; Band.Height := fr1cm * 0.5;
如果您對FastReport的感興趣,歡迎加入QQ的FastReport交流群:702295239
還想要更多嗎?您可以點(diǎn)擊【FastReport 報(bào)表2020最新資源盤點(diǎn)】,尋找需要的教程資源。換上FastReport .NET正在網(wǎng)都火熱中銷售!在線訂購惠享超低綁定。>>查看價(jià)格詳情
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: