FastReport中国社区FastReport联系电话 联系电话:023-68661681

FastReport VCL程序员手册:通过代码创建报告表单

来源:   发布时间:2021-05-08   浏览:次

FastReport VCL是用于Delphi,C ++ Builder,RAD Studio和Lazarus的报告和文档创建VCL库。它提供了可视化模板设计器,可以访问为30多种格式,并可以部署到云,网站,电子邮件和打印中。

近日,FastReport VCL更新至v6.9,在新版本中,在PDF更新中增加了对以下对象的并行表单支持:文本,替换和图片。能够通过InteractiveFormsFont子集属性将所需的字形仅包含在相互形式中。同时修复了多个Bug问题。欢迎下载体验。(单击下方按钮下载)

立即点击下载FastReport VCL v6.9最新版

通常,您将使用手动创建报告。

要手动创建报告,应按顺序执行以下步骤:

  • 清除报告组件
  • 添加数据源
  • 添加“数据”页面
  • 添加报告页面
  • 在页面上添加乐队
  • 设置初始的属性,然后将其连接到数据
  • 在每个双人上添加对象
  • 设置对象的属性,然后将它们连接到数据

我们有以下组件:frxReport1:TfrxReport和frxDBDataSet1:TfrxDBDataSet(最后一个连接到DBDEMOS的数据,«Customer.db»表)。我们的报告将包含一在“报告标题”区域中,将出现一个带有“ Hello FastReport!”的对象。文本,而“主数据”将包含一个对象,该对象具有指向“CustNo”字段的链接。
帕斯卡尔:

变种
  数据页:TfrxDataPage;
  页面:TfrxReportPage;
  频段:TfrxBand;
  DataBand:TfrxMasterData;
  备注:TfrxMemoView;

{清除报告}
frxReport1.Clear;

{将资料集加入报表可存取的资料集}
frxReport1.DataSets.Add(frxDBDataSet1);

{添加“数据”页面}
DataPage:= TfrxDataPage.Create(frxReport1);

{添加页面}
页面:= TfrxReportPage.Create(frxReport1);

{创建一个唯一的名称}
Page.CreateUniqueName;

{默认设置字段,纸张和方向的大小}
Page.SetDefaults;

{修改纸张的方向}
Page.Orientation:= poLandscape;

{添加报告标题栏}
带:= TfrxReportTitle.Create(Page);
Band.CreateUniqueName;

{设置一个波段的“顶部”坐标和高度就足够了}
{两个座标均以像素为单位}
Band.Top:= 0;
Band.Height:= 20;

{向报表标题栏添加一个对象}
备注:= TfrxMemoView.Create(Band);
Memo.CreateUniqueName;
Memo.Text:='你好FastReport!';
备注高度:= 20;

{该对象将根据波段的宽度进行拉伸}
Memo.Align:= baWidth;

{添加masterdata带}
DataBand:= TfrxMasterData.Create(Page);
DataBand.CreateUniqueName;
DataBand.DataSet:= frxDBDataSet1;

{顶部坐标应大于先前添加的带的顶部+高度}
DataBand.Top:= 100;
DataBand.Height:= 20;

{在主数据上添加一个对象}
备注:= TfrxMemoView.Create(DataBand);
Memo.CreateUniqueName;

{连接到数据}
Memo.DataSet:= frxDBDataSet1;
Memo.DataField:='CustNo';
Memo.SetBounds(0,0,100,20);

{将文字调整为正确的对象的边距}
Memo.HAlign:= haRight;

{显示报告}
frxReport1.ShowReport;

C ++:

TfrxDataPage *数据页;
TfrxReportPage *页面;
TfrxBand *频段;
TfrxMasterData * DataBand;
TfrxMemoView *备注;

//清除报告 
frxReport1-> Clear();

//将数据集添加到报表可访问的数据集列表中 
frxReport1-> DataSets-> Add(frxDBDataset1);

//添加“数据”页面 
DataPage =新的TfrxDataPage(frxReport1);

//添加页面
页面=新的TfrxReportPage(frxReport1);

//创建一个唯一的名称 
页面-> CreateUniqueName();

//默认设置字段,纸张和方向的大小 
页面-> SetDefaults();

//修改纸张的方向
页面->方向= poLandscape;

//添加报告标题栏
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);

让我们解释一些细节。

必须在报告中使用的所有数据源都必须添加到数据源列表中。在我们的情况下,这是使用

frxReport1.DataSets.Add(frxDBDataSet1)

line,否则,报告将不起作用。

对于将内部数据集插入TfrxADOTable到报表中,“数据”页面是必需的。此类数据集只能放置在“数据”页面上。

Page.SetDefaults不需要调用,因为在这种情况下页面将具有А4格式,页边距为0毫米。SetDefaults设置10mm页边距,并采用打印机默认具有的页面尺寸和对齐方式。

在页面上添加带区时,应确保它们不会相互重叠。为此,只需设置«Top»和«Height»坐标即可。修改«Left»和«Width»坐标毫无用处,因为带始终具有其所在页面的宽度(如果是垂直带,则不正确–您应设置Left和Width属性,并不在乎顶部和高度)。应该注意的是,乐队在页面上的位置顺序非常重要。始终以与设计者相同的方式定位乐队。

对象的坐标和大小以像素为单位设置。因为Left,Top,Width,和Height所有对象的属性有«扩展»类型,你可以指出非整数值。定义了以下常量,用于将像素转换为厘米和英寸:

fr01cm = 3.77953;
fr1cm  = 37.7953;
fr01in = 9.6;
fr1in  = 96;

例如,可以将带子的高度设置为等于5毫米,如下所示:

Band.Height := fr01cm * 5; 
带高度:= fr1cm * 0.5; 

还想要更多吗?您可以点击阅读【FastReport报表2020最新资源盘点】,查找需要的教程资源。让人兴奋的是FastReport .NET正在慧都网火热销售中!>>查看价格详情

本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:FastReport控件中文网 [https://www.fastreportcn.com/]
本文地址:https://www.fastreportcn.com/post/3027.html

联系我们
  • 重庆总部 023-68661681
购买
  • sales@evget.com
合作
  • business@evget.com


在线
客服
微信
QQ 电话
023-68661681
返回
顶部