提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:胡涛|2024-03-21 10:17:20.953|阅读 25 次
概述:本文主要介绍在报表生成器FastReport .Net中,关于脚本的相关部分,欢迎查阅!
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
FastReport的报表生成器(无论VCL平台还是.NET平台),跨平台的多语言脚本引擎FastScript,桌面OLAP FastCube,如今都被世界各地的开发者所认可,这些名字被等价于“速度”、“可靠”和“品质”,在美国,欧洲和非洲不同国家均设有办事处。FastReports网站有10种不同语言的介绍,FastReports报表拥有40种语言的本地化的信息。
FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案,使用FastReport .NET可以创建独立于应用程序的.NET报表,同时FastReport .Net支持中文、英语等14种语言,可以让你的产品保证真正的国际性。 阅读报表生成器FastReport .Net用户指南:关于脚本(上)
除了报告中包含的对象外,脚本中还定义了两个变量:报告和引擎。
报告变量指的是当前的报告。在下面的列表中,列出了报告对象的方法:
Method | Description |
---|---|
object Calc(string expression) |
计算表达式并返回值。首次调用此方法时,表达式将被编译,这需要一些时间。 |
object GetColumnValue(string complexName) |
返回数据列的值。列名必须以 "DataSource.Column "形式显示。如果列的值为空,则默认将其转换为一个值(0、空字符串、false)。 |
object GetColumnValueNullable(string complexName) |
返回数据列的值。与前一个方法相反,它不会转换为默认值,也可能为空。 |
Parameter GetParameter(string complexName) |
返回具有指定名称的报告参数。在引用嵌套参数时,名称可以是复合的:"MainParam.NestedParam"。 |
object GetParameterValue(string complexName) | 返回具有指定名称的报告参数的值。 |
void SetParameterValue(string complexName, object value) |
设置指定名称的报告参数值。 |
object GetVariableValue(string complexName) |
返回系统变量的值,例如 "Date"。 |
object GetTotalValue(string name) |
按名称返回 "Data"窗口中定义的总计值。 |
DataSourceBase GetDataSource(string alias) |
按名称返回报表中定义的数据源。 |
引擎对象是一个控制报告创建的引擎。通过使用引擎的方法和属性,可以管理在页面上放置波段的过程。您可以使用引擎对象的以下属性:
Property | Description |
---|---|
float CurX |
当前 X 轴坐标。可以为该属性赋值,以便移动打印对象。 |
float CurY |
当前在 Y 轴上的打印位置。可以为该属性赋值,以移动打印对象。
|
int CurColumn |
多栏报表中当前列的编号。第一列的编号为 0 |
int CurPage |
打印页面的编号。该值可从系统变量 "Page "中获取。 |
float PageWidth |
页面宽度减去左右页边距。 |
float PageHeight |
页面高度减去上下页边距。 |
float PageFooterHeight |
页面页脚(及其所有子带)的高度 |
float ColumnFooterHeight |
栏脚(及其所有子带)的高度。 |
float FreeSpace |
页面可用空间的大小。 |
bool FirstPass | 如果正在执行第一次(或唯一一次)报告传递,则返回 true。可通过 Report.DoublePass 属性获取传递次数。 |
bool FinalPass |
如果正在执行最后一次(或唯一一次)报告传递,则返回 true。 |
在下图中,你可以看到上面列出的一些属性的含义。
Engine.PageWidth 和 Engine.PageHeight 属性决定打印区域的大小,几乎总是小于页面的实际大小。打印区域的大小由页边距决定,页边距由 LeftMargin、TopMargin、RightMargin 和 BottomMargin 页面属性给出。
Engine.FreeSpace 属性决定页面上可用空间的高度。如果页面上有 ""Report footer" "带,则在计算 FreeSpace 时会考虑其高度。请注意,打印页边框后,可用空间会减少。
如何形成准备好的报告页面?
FastReport 引擎在页面上显示条带,直到有足够的空间进行条带输出。当没有可用空间时,将打印 "报告页脚 "条带并形成新的空页。显示条带从当前位置开始,当前位置由 X 和 Y 坐标决定。该位置由 Engine.CurX 和 Engine.CurY 属性重新调整。打印带状图后,CurY 会自动按打印带状图的高度增加。打印多栏报表时,CurX 的位置会发生变化。
Engine.CurX 和 Engine.CurY 属性不仅可用于读取,也可用于写入。这意味着您可以通过使用一个合适的事件来手动移动条带。使用这些属性的示例请参见 "示例 "部分。
引擎对象中定义了以下方法:
Method | Description |
---|---|
void AddOutline(string text) |
在报告大纲中添加元素(请参阅 "交互式报告 "章节),并将当前位置设置为添加的元素。 |
void OutlineRoot() |
设置大纲根部的当前位置。 |
void OutlineUp() |
将当前位置移动到更高层次的大纲元素上。 |
void AddBookmark(string name) |
添加书签(请参阅 "交互式报告 "章节) |
int GetBookmarkPage(string name) |
返回书签所在页码。 |
void StartNewPage() |
开始一个新页面。如果报表是多栏报表,则开始新的一栏。 |
通过使用 AddOutline、OutlineRoot 和 OutlineUp 方法,可以手动创建报告大纲。通常,这都是借助 OutlineExpression 属性自动完成的,每个波段和报表页面都有 OutlineExpression 属性。
AddOutline 方法为当前大纲元素添加一个子元素,并使其成为当前元素。当前的报告页面和页面上的当前位置都与新元素相关联。如果多次调用 AddOutline 方法,就会产生如下结构:
Item1 Item2 Item3
为了控制当前元素,有 OutlineUp 和 OutlineRoot 方法。第一个方法将指针移到位于更高层的元素上。因此,脚本:
Engine.AddOutline("Item1"); Engine.AddOutline("Item2"); Engine.AddOutline("Item3"); Engine.OutlineUp(); Engine.AddOutline("Item4");
将创建以下大纲:
Item1 Item2 Item3 Item4
OutlineRoot 方法会将当前元素移动到大纲的根部。例如,下面的脚本:
Engine.AddOutline("Item1"); Engine.AddOutline("Item2"); Engine.AddOutline("Item3"); Engine.OutlineRoot(); Engine.AddOutline("Item4");
将创建以下大纲:
Item1 Item2 Item3 Item4
要引用系统变量,请使用报告对象的 GetVariableValue 方法:
DateTime date = (DateTime)Report.GetVariableValue("Date");
在 "Data "窗口中可以看到系统变量列表。您可以将变量拖入脚本中,FastReport 会自动创建用于引用变量的代码。
要引用总值,请使用报告对象的 GetTotalValue 方法:
float sales = Report.GetTotalValue("TotalSales");
在 "Data "窗口中可以看到总数列表。从它,你可以拖动到脚本,在此 FastReport 代码自动引用总。总计值具有 FastReport.Variant 类型。It can be directly in any expression, because the FastReport.Variant type is automatically converted to any type.例如
float tax = Report.GetTotalValue("TotalSales") * 0.2f;
在处理过程中,可以参考总值。通常情况下,总值在打印带子的那一刻就 "ready to use"。
要引用报告参数,请使用报告对象的 GetParameterValue 方法:
int myParam = (int)Report.GetParameterValue("MyParameter");参数可以嵌套。在这种情况下,请标出父参数的名称,并在句号后标出子参数的名称:
Report.GetParameterValue("ParentParameter.ChildParameter")
参数有明确的数据类型。它在参数的 DataType 属性中给出。在引用参数时必须考虑到这一点。您可以在"Data"窗口中看到参数列表。您可以将参数拖入脚本,FastReport 会自动创建用于引用参数的代码。要更改参数值,请使用报告对象的 SetParameterValue 方法:
Report.SetParameterValue("MyParameter", 10);
本次关于 FastReport .Net 介绍就讲解到这里了,点击此处查看关于用户指南的更多内容。如果您想获取更多产品试用/授权/价格信息,请点击FastReport .Net了解,或者点击咨询。
FastReport技术QQ群:585577353 欢迎进群一起讨论
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
HOOPS Luminate在汽车行业中的应用具有广泛的潜力和深远的影响。它通过提供高效的3D可视化、虚拟装配与拆解、性能分析、客户定制等功能,帮助汽车制造商在设计、生产和销售过程中提升效率、降低成本并提高产品质量。
在不断发展的软件开发世界中,使工具和框架与最新的平台版本保持同步至关重要,欢迎查阅~
全球航运业对国际贸易至关重要,全球 90% 以上的商品通过海运运输。准确监控和控制这些集装箱的移动对于维持高效的供应链至关重要。手动输入集装箱号码是这一程序的关键部分,它带来了相当大的挑战,例如人为错误和效率低下。
用于快速高效地生成报表的附加组件
FastReport .Net一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案。
FastReport FMX报表生成器FastReport FMX 是第一个支持苹果Mac OC X 和Microsoft Windows的跨平台报表生成器,并且它与Embarcadero公司的RAD Studio XE2 (FMX库)兼容。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢