提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:杨鹏连|2021-04-25 09:41:50.940|阅读 135 次
概述:FastReport引擎通常负责报表的构建。有时有必要创建非标准格式的报告,而FastReport引擎无法生成该报告,但可以借助TfrxReport.OnManualBuild事件来手动构建报告的功能。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
FastReport VCL是用于Delphi,C ++ Builder,RAD Studio和Lazarus的报告和文档创建VCL库。它提供了可视化模板设计器,可以访问为30多种格式,并可以部署到云,网站,电子邮件和打印中。
近日,FastReport VCL更新至v6.9,在新版本中,在PDF更新中增加了对以下对象的并行表单支持:文本,替换和图片。能够通过InteractiveForms字体子集属性将所需的字形仅包含在相互之间形式中。同时修复了多个Bug问题。欢迎下载体验。(旁边向下按钮下载)
FastReport引擎通常负责报表的构建。它以特定顺序显示报告的频段,次数与报告所连接的数据源所需的次数相同,因此形成了完整的报告。有时有必要创建非标准格式的报告,而FastReport引擎无法生成该报告。在这种情况下,可以借助TfrxReport.OnManualBuild事件来手动构建报告的功能。如果要定义此事件的处理程序,则FastReport引擎将管理发送给该事件。同时,以以下方式更改了形成报告的职责分配:
FastReport引擎:
处理程序:
OnManualBuild处理程序的本质是发出有关将某些频段呈现给FastReport引擎的命令。引擎本身将完成剩下的工作:只要当前页面中没有位置,就会创建一个新页面。脚本将被执行。
引擎由TfrxCustomEngine类表示。此类的实例的链接位于该TfrxReport.Engine属性中。
让我们举一个简单的处理程序的例子。报告中有两个“主数据”带,它们未连接到数据。处理程序以隔行顺序呈现这些频段,每个频段六次。在六个频段之后,会出现一个很小的间隙。
Pascal:var i: Integer; Band1, Band2: TfrxMasterData; { find required bands } Band1 := frxReport1.FindObject('MasterData1') as TfrxMasterData; Band2 := frxReport1.FindObject('MasterData2') as TfrxMasterData; for i := 1 to 6 do begin { lead/deduce bands one after another } frxReport1.Engine.ShowBand(Band1); frxReport1.Engine.ShowBand(Band2); { make a small gap } if i = 3 then frxReport1.Engine.CurY := frxReport1.Engine.CurY + 10; end;C ++:
int i; TfrxMasterData * Band1; TfrxMasterData * Band2; // find required bands Band1 := dynamic_cast <TfrxMasterData *> (frxReport1->FindObject("MasterData1")); Band2 := dynamic_cast <TfrxMasterData *> (frxReport1->FindObject("MasterData2")); for(i = 1; i <= 6; i++) { // lead/deduce bands one after another frxReport1->Engine->ShowBand(Band1); frxReport1->Engine->ShowBand(Band2); // make a small gap if(i == 3) frxReport1->Engine->CurY += 10; }下一个示例显示两组bands并排放置。
var i, j: Integer; Band1, Band2: TfrxMasterData; SaveY: Extended; Band1 := frxReport1.FindObject('MasterData1') as TfrxMasterData; Band2 := frxReport1.FindObject('MasterData2') as TfrxMasterData; SaveY := frxReport1.Engine.CurY; for j := 1 to 2 do begin for i := 1 to 6 do begin frxReport1.Engine.ShowBand(Band1); frxReport1.Engine.ShowBand(Band2); if i = 3 then frxReport1.Engine.CurY := frxReport1.Engine.CurY + 10; end; frxReport1.Engine.CurY := SaveY; frxReport1.Engine.CurX := frxReport1.Engine.CurX + 200; end;C ++:
int i, j; TfrxMasterData * Band1; TfrxMasterData * Band2; Extended SaveY; Band1 = dynamic_cast <TfrxMasterData *> (frxReport1->FindObject("MasterData1")); Band2 = dynamic_cast <TfrxMasterData *> (frxReport1->FindObject("MasterData2")); SaveY = frxReport1->Engine->CurY; for(j = 1; j <= 2; j++) { for(i = 1; i <= 6; i++) { frxReport1->Engine->ShowBand(Band1); frxReport1->Engine->ShowBand(Band2); if(i == 3) frxReport1->Engine->CurY += 10; } frxReport1->Engine->CurY = SaveY; frxReport1->Engine->CurX += 200; }
如果您对FastReport感兴趣,欢迎加入FastReport QQ交流群:801349317
还想要更多吗?您可以点击阅读【FastReport报表2020最新资源盘点】,查找需要的教程资源。让人兴奋的是FastReport .NET正在慧都网火热销售中!>>查看价格详情
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢