通常情况下,使用设计器可以创建大多数 告。但是,在某些情况下(例如,当 告的表单未知时),有必要通过代码手动创建 告。
通常,您将使用设计器创建大多数 告。但是,在某些情况下(例如,当 告的表单未知时),有通过代码手动创建 告。
要手动创建 告,应按顺序执行以下步骤:
- 清除 告组件
- 添加数据源
- 添加“数据”页面
- 添加 告页面
- 在页面上添加乐队
- 设置频段的属性,然后将其连接到数据
- 在每个频率上添加对象
- 设置对象的属性,然后将它们连接到数据
让我们检查一下“列表”类型的 告的创建。假设我们有以下简单的组件:frxReport1:TfrxReport和frxDBDataSet1:TfrxDBDataSet(最后一个连接到DBDEMOS的数据,ustomer.db。页带有“ 告标题”和“主数据”带的页面。在“ 告标题”区域中,将出现一个“Hello FastReport!”的对象。文本,“主数据”将包含一个对象,该对象具有指向“CustNo”字段的链接。
帕斯卡尔:
无功 数据页:TfrxDataPage; 页面:TfrxReportPage; 频段:TfrxBand; 数据带:TfrxMasterData; 备忘录:TfrxMemoView; {清除 告} frxReport1.清除; { 将数据集添加到 表可访问的列表中 } frxReport1.DataSets.Add(frxDBDataSet1); { 添加“数据”页面 } 数据页:= TfrxDataPage.Create(frxReport1); { 添加页面 } 页 := TfrxReportPage.Create(frxReport1); { 创建一个唯一的名称 } Page.CreateUniqueName; { 默认设置字段、纸张和方向的大小} Page.SetDefaults; { 修改纸张方向 } Page.Orientation := poLandscape; { 添加 告标题带} Band := TfrxReportTitle.Create(Page); Band.CreateUniqueName; { 为一个带设置 op坐标和高度就足够了 } { 两个坐标都以像素为单位 } Band.Top := 0; 带.高度:= 20; { 向 表标题带添加对象 } 备忘录:= TfrxMemoView.Create(Band); Memo.CreateUniqueName; Memo.Text := 'Hello FastReport!'; 备注.高度:= 20; { 此对象将根据带的宽度进行拉伸 } Memo.Align := baWidth; { 添加主数据带 } DataBand := TfrxMasterData.Create(Page); DataBand.CreateUniqueName; DataBand.DataSet := frxDBDataSet1; {顶部坐标应该大于之前添加的band的顶部+高度} DataBand.Top := 100; 数据带高度:= 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 * 数据带; TfrxMemoView * 备忘录; // 清除 告 frxReport1->清除(); // 将数据集添加到 表可访问的数据集列表中 frxReport1->DataSets->Add(frxDBDataset1); // 添加“数据”页面 DataPage = new TfrxDataPage(frxReport1); // 添加一个页面 页 = 新 TfrxReportPage(frxReport1); // 创建一个唯一的名称 页面->CreateUniqueName(); // 默认设置字段、纸张和方向的大小 页面->SetDefaults(); // 修改纸的方向 页面->方向= poLandscape; // 添加 表标题带 Band = new TfrxReportTitle(Page); 乐队-> CreateUniqueName(); // 为波段设置部标和高度就足够了 // 两个坐标都以像素为单位 波段->顶部 = 0; 带->高度= 20; // 添加一个对象到 表标题栏 备忘录 = 新 TfrxMemoView(Band); 备忘录-> CreateUniqueName(); Memo->Text = "Hello FastReport!"; 备注->高度 = 20; // 此对象将根据带的宽度进行拉伸 备注->对齐 = baWidth; // 添加主数据带 DataBand = new TfrxMasterData(Page); DataBand->CreateUniqueName(); 数据带->数据集 = frxDBDataset1; // 顶部坐标应大于先前添加的带的顶部 + 高度 数据带->顶部 = 100; 数据带->高度 = 20; // 在主数据上添加一个对象 备忘录 = 新 TfrxMemoView(DataBand); 备忘录-> CreateUniqueName(); // 连接数据 备忘录->数据集 = frxDBDataset1; Memo->DataField = "CustNo"; 备忘录->SetBounds(0, 0, 100, 20); // 将文本调整到右侧对象的边距 备忘录->HAlign = haRight; // 显示 告 frxReport1->ShowReport(true);
让我们解释一些细节。
必须在 告中使用的所有数据源都必须添加到数据源列表中。在我们的情况下,这是使用
frxReport1.DataSets.Add(frxDBDataSet1)
行,否则, 告将。
对于将内部数据集插入 TfrxADOTable 到 表中,“数据”页面是必需的。外部数据集可以放置在“数据”页面上。
Page.SetDefaults 无需调用,因为在这种情况下页面将具有 4 格式,边距为 0 毫米。SetDefaults 设置为 10 毫米边距,并采用打印机默认具有的页面尺寸和页面页面方式。
在页面上添加区时,应确保它们不会重叠在一起。有多少设置度坐标图表顶部。修改度标无用处,带上总是有的其所在页面的宽度(如果是带,则不是您的正确应设置左和宽度属性)。注意是,乐队在页面上的顺序位置非常重要。总是以与应该设计者相同的方式定位乐队。
对象的坐标和大小以像素为单位设置。因为Left,顶部,宽度,和高度所有对象的属性有展型,你可以潜在非潜在值。定义了以下常量,用于将像素转换为厘米和英寸:
fr01cm = 3.77953; fr1cm = 37.7953; fr01in = 9.6; fr1in = 96;
例如,可以将带子的高度设置为 5 毫米,如下所示:
Band.Height := fr01cm * 5; Band.Height := fr1cm * 0.5;
如果您对FastReport的感兴趣,欢迎加入QQ的FastReport交流群:702295239
还想要更多吗可以点击【FastReport 表2020最新资源盘点】,寻找需要的教程资源。换上FastReport .NET正在 都火热中销售!在线订购惠享超低绑定。>>查看价格详情
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!