提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:胡涛|2024-01-17 11:24:49.387|阅读 38 次
概述:本文主要介绍在报表生成器FastReport .Net中,如何创建数据源关系,欢迎查阅~
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案,使用FastReport .NET可以创建独立于应用程序的.NET报表,同时FastReport .Net支持中文、英语等14种语言,可以让你的产品保证真正的国际性。
两个数据源之间可以设置关系。关系用于定义 "master-detail"关系。例如,"Categories "表中的一条记录可以在 "Products "表中有多个条目:
要创建关系,您需要说明以下内容:
两个表都有 CategoryID 字段,可以在该字段上设置关系。因此,一个类别可能包含多个产品。
如何在 FastReport 中使用相关数据源?有两种方法。
第一种方法可以建立 "master-detail "类型的报告。为此,需要使用两个 "Data "带。主数据带连接到主数据源,详细数据带连接到详细数据源。我们的示例如下:
如果运行这样的报告,就会打印出每个类别的产品清单:
第二种方法允许从详细数据源引用主数据源。我们将举例说明。假设我们要打印所有产品的列表。为此,我们需要一个与 "Products "表相连的 "Data "带:
这样的报告将打印所有类别的所有产品。比方说,我们想在每个产品旁边打印它所属的类别名称。如果不使用关系,这将更加困难。我们所知道的产品类别就是它的 id(由 "Products "表中的 "CategoryID "列表示)。我们要打印的类别名称存储在 "Category "表的 "CategoryName "列中。借助关系,我们可以按以下方式引用类别名称:
[Products.Categories.CategoryName]对于 "Products"表的当前行,FastReport 将在 "类别 "表中找到相应的父行,并返回 "CategoryName "列的值。
在一般情况下,引用父表字段的方式允许表祖先的数量不受限制:
如果我们将上图所示的列拖入报告中,就会得到一个包含文本的 "Text "对象:
如果我们运行它,就会看到以下内容:
要创建关系,请单击 "Data "窗口中的 "Actions "按钮,然后选择 "New relation... "项。您将看到关系编辑器:
首先,需要选择父表和子表。然后,在窗口下部选择相关数据列。可以通过一个或多个数据列将表关联起来。列设置完成后,按 "确定 "按钮关闭关系编辑器。
在 "Data "窗口中,选择子数据源并打开列列表,就可以看到创建的关系。在这些列中,可以看到与父数据源的关系:
父数据源的数据列可以通过拖放方法插入到报表中。因此,如果我们选择如图所示的列,并将其拖到报告页面上,就会得到一个内容如下的 "Text"对象:
[Products.Categories.CategoryName]
要编辑关系,请打开子数据源的列列表,找到需要的关系并点击工具栏上的 "Eidt..."按钮。这将调用我们之前看过的关系编辑器。
有一系列系统变量可在报告中使用:
Variable | Description |
---|---|
Date |
报告开始的日期和时间。 |
Page | 当前页码。 |
TotalPages | 报告的总页数。要使用此变量,需要启用报告的双通道。您可以在 "报告 |
PageN | 表格中的页码:"Page N"。 |
PageNofM |
表格页码:"Page N of M"。 |
Row# | 组内数据行号。该值在新组开始时重置。 |
AbsRow# |
数据行的绝对数。该值在新组开始时不会重置。 |
Page# |
当前页码。如果将多个准备好的报告合并到一个数据包中,该变量将返回数据包中的当前页码。该变量实际上是一个宏,当在预览窗口中查看组件时,它的值将被替换。这意味着不能在表达式中使用它。 |
TotalPages# |
报告的总页数。如果将多个准备好的报告合并为一个数据包,该变量将返回一个数据包的页数。该变量实际上是一个宏。该变量实际上是一个宏,当在预览窗口中查看组件时,它的值将被替换。这意味着你不能在表达式中使用它。 |
HierarchyLevel | 层次结构报告中的当前层次结构级别(请参阅 "打印层次结构")。顶层等于 1。 |
HierarchyRow# |
层次结构报告中的完整行号,如 "1.2.1"。 |
本次关于 FastReport .Net 介绍就讲解到这里了,点击此处查看关于用户指南的更多内容。如果您想获取更多产品试用/授权/价格信息,请点击FastReport .Net了解,或者点击咨询。
FastReport技术QQ群:585577353 欢迎进群一起讨论
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
HOOPS Luminate在汽车行业中的应用具有广泛的潜力和深远的影响。它通过提供高效的3D可视化、虚拟装配与拆解、性能分析、客户定制等功能,帮助汽车制造商在设计、生产和销售过程中提升效率、降低成本并提高产品质量。
在不断发展的软件开发世界中,使工具和框架与最新的平台版本保持同步至关重要,欢迎查阅~
全球航运业对国际贸易至关重要,全球 90% 以上的商品通过海运运输。准确监控和控制这些集装箱的移动对于维持高效的供应链至关重要。手动输入集装箱号码是这一程序的关键部分,它带来了相当大的挑战,例如人为错误和效率低下。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢