没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:胡涛|2024-01-17 11:24:49.387|阅读 48 次
概述:本文主要介绍在报表生成器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@wqylolg.cn
ABViewer作为一款功能强大的CAD图纸处理工具,凭借其广泛的格式支持、精确的测量工具、便捷的标注功能以及高效的打印和转换能力,正逐渐成为众多专业人士的首选工具。以下是ABViewer功能的详细解析及其在实际应用中的价值体现。
TeeChart Pro VCL/FMX 就是一款能帮你解决这个难题的强大工具,它为开发者和数据分析师提供了丰富的功能,让数据可视化变得简单又高效。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@wqylolg.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢