提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:张莹心|2021-11-04 13:59:09.280|阅读 266 次
概述: FastReport多级报告的结构可以比作一棵树——树干、大树枝、从它们长出的细树枝,等等直到叶子——或者与公司结构进行比较:部门、分部、员工。它们通常被称为主从或主从,由几个表组成。一张表包含主要实体的列表;与第一个表绑定的另一个表包含一个从属实体列表,其中包含对第一个表的引用,指定第二个表中的某个实体从属于第一个表中的哪个实体,依此类推。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
FastReport VCL是用于 Delphi、C++ Builder、RAD Studio 和 Lazarus 的报告和文档创建 VCL 库。它提供了可视化模板设计器,可以访问 30 多种格式,并可以部署到云、网站、电子邮件和打印中。
在这篇文章中,想告诉你 FastReport 如此强大的多级报告。他们的结构可以比作一棵树——树干、大树枝、从它们长出的细树枝,等等直到叶子——或者与公司结构进行比较:部门、分部、员工。它们通常被称为主从或主从,由几个表组成。一张表包含主要实体的列表;与第一个表绑定的另一个表包含一个从属实体列表,其中包含对第一个表的引用,指定第二个表中的某个实体从属于第一个表中的哪个实体,依此类推。FastReport 最多支持六层嵌套(通过使用 Nested 报表对象可能会更多,但这将在后面描述)。在实际应用中,很少需要打印具有大量数据嵌套的报告;通常,1-3 级就足够了。
顾客:
CustNo Company
1221 Kauai Dive Shoppe
1231 Unisco
1351 Sight Diver
订单:
订单无客户无销售日期
1003 1351 12.04.1988
1023 1221 01.07.1988
1052 1351 06.01.1989
1055 1351 04.02.1989
1062
1981 2060 139 1989
如您所见,第二个表包含所有公司发出的所有订单的列表。要获取特定公司的订单列表,应从表中选择数据,其中字段 CustNo 等于所选公司的编号。使用这些数据构建的报告将如下所示:
1221 考艾岛潜水专柜
1023 1988年7月1日
1123 1993年8月24日
1231 联合船代
1060 1989年2月28日
1351 视觉潜水员
1003 1988年4月12日
1052 1989年6月1日
1055 1989年2月4日
现在我们开始做报告。我们在 Delphi 中创建了一个新项目,并为表单设置了两个 TTable 组件、一个 TDataSource 组件、两个 TfrxDBDataSet 组件和一个 TfrxReport 组件。
Table1 :
DatabaseName = 'DBDEMOS'
TableName = 'Customer.db'
Table2 :
DatabaseName = 'DBDEMOS'
TableName = 'Orders.db'
DataSource1 : DataSet = Table1 frxDBDataSet1 : DataSet = Table1 UserName = 'Customers' frxDBDataSet2 : DataSet = Table2 UserName = '订单'
在报表设计器中,我们在 Report|Data... 窗口中连接我们的数据源。
将第一级数据(主)和第二级数据(详细信息)带添加到页面。从数据面板(在右侧),我们将表字段拉到各自的波段(主和细节)。它看起来像这样:
注意 - 第一级数据带必须位于上方!如果位于2级数据带以下,FastReport会在开始上报时提示错误。
启动后,我们将看到每个客户的订单列表都是相同的,并且包含订单表中的所有记录。这是因为我们没有打开 Orders 表中的记录过滤。
让我们回到我们的数据源。对于表 2 组件,我们设置 MasterSource = DataSource1 属性。因此,我们设置了主从连接。现在我们必须在下级源中设置记录过滤条件。为此,请调用 Table 2 组件中 MasterFields 属性的编辑器:
我们必须连接两个源中的两个 CustNo 字段。为此,请在上面的列表中选择 CustNo 索引,选择字段并单击添加按钮。一堆字段将被重新定位到较低的窗口中。之后,使用 ОК 按钮关闭编辑器。
当报表启动时,FastReport 将执行以下操作。它将从主表 (Customer) 中选择下一个记录并将过滤器设置为从属表 (Orders)。只有满足条件 Orders.CustNo = Customer.CustNo 的录音才会留在表中。也就是说,对于每个客户,只会显示该客户的订单:
同样,您最多可以构建具有六个数据级别的报告。
如果您对 FastReport 报表工具感兴趣,欢迎加入 FastReport QQ 交流群:599154289
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
用于快速高效地生成报表的附加组件
FastReport FMX报表生成器FastReport FMX 是第一个支持苹果Mac OC X 和Microsoft Windows的跨平台报表生成器,并且它与Embarcadero公司的RAD Studio XE2 (FMX库)兼容。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢