报表生成器FastReport .Net用户指南:脚本示例

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官方版下载(qun:585577353)https://www.evget.com/product/1861/download

示例 1.更改对象的外观

在这个示例中,我们将展示如何根据对象中打印的值来更改文本的颜色。我们将使用:

  • BeforePrint 事件;
  • 从脚本中引用数据列。

创建一个具有以下外观的简单报表:

选择打印 "UnitPrice "列的对象,并创建 BeforePrint 事件处理程序:

private void Text2_BeforePrint(object sender, EventArgs e) { if (((Decimal)Report.GetColumnValue("Products.UnitPrice")) > 20) Text2.TextColor = Color.Red; }

要在脚本中插入 "Products.UnitPrice "数据列,请从 "Data(数据)"窗口中拖动它。在此过程中,脚本中将添加以下字符串:

((Decimal)Report.GetColumnValue("Products.UnitPrice"))

如果我们运行报告,就会看到所有价格大于 20 的产品都以红色突出显示:

利用条件高亮功能也可以达到同样的效果(有关详细信息,请参阅 "创建报告"一章中的 "条件高亮 "部分)。

示例 2.突出显示条带的偶数行

在本例中,我们将演示如何更改 "Data "带偶数行的填充颜色。我们将使用:

  • BeforePrint 频带事件;
  • 引用脚本中的系统变量 "Row#"。

创建一个具有以下外观的简单报表:

为乐队创建 BeforePrint 事件处理程序:

private void Data1_BeforePrint(object sender, EventArgs e) { if (((Int32)Report.GetVariableValue("Row#")) % 2 == 0) Data1.FillColor = Color.Gainsboro; }

Row#"系统变量返回打印条带的行号。要在脚本中插入对该变量的引用,请从 "数据 "窗口中拖动该变量。此时,脚本中将插入一个字符串:

((Int32)Report.GetVariableValue("Row#"))

如果我们运行报告,就会发现偶数行将以浅灰色突出显示:

借助 "Data "带的 "EvenStyle "属性也可以达到同样的效果。有关详细信息,请参阅 "创建报表 "一章中的 "突出显示奇数/偶数数据行 "部分。

示例 3.数据过滤

在本例中,我们将展示如何根据给定条件隐藏 "Data "带行。我们将使用:

  • BeforePrint 带事件;
  • 从脚本中引用数据源。

创建一个具有以下外观的简单报表:

为band创建 BeforePrint 事件处理程序:

private void Data1_BeforePrint(object sender, EventArgs e) { if (((Decimal)Report.GetColumnValue("Products.UnitPrice")) > 20) Data1.Visible = false; }

在这种情况下,单价大于 20 的波段行将被隐藏:

使用 "Data "波段编辑器中设置的数据过滤器也能达到同样的效果。

示例 4.计算总数

在本例中,我们将演示如何使用编程方法计算总和。我们将使用以下方法:

  • BeforePrint 带事件;
  • 引用脚本中的数据列;
  • 局部变量,其值将打印在报表中。

创建以下形式的报告:

在脚本中,声明 "sum "变量,并创建属于乐队的 BeforePrint 事件处理程序:

public class ReportScript { private decimal sum; private void Data1_BeforePrint(object sender, EventArgs e) { sum += (Decimal)Report.GetColumnValue("Products.UnitPrice"); } }

可从 "Data "窗口拖动 "Products.UnitPrice "数据列,将其放入脚本中。

运行报告后,您将看到以下内容:

使用总数也可以达到同样的效果。

示例 5.移动打印位置

在本例中,我们将演示如何使用引擎对象手动移动印带的位置。我们将使用

  • BeforePrint 打印带事件;
  • 引擎对象。

创建一个外观如下的简单报表:

为波段创建 BeforePrint 事件处理程序:

private void Data1_BeforePrint(object sender, EventArgs e) { Engine.CurX = ((Int32)Report.GetVariableValue("Row#")) * 10; }

如果运行该报告,您将看到以下内容:

本次关于 FastReport .Net 介绍就讲解到这里了,点击此处查看关于用户指南的更多内容。

相关推荐
java资料站2 小时前
五、Spring AI Alibaba · Memory · Saver(短期会话)
java·spring·microsoft
波力海苔夹心脆6756 小时前
C# 视觉检测实战:PLC 按钮触发 VisionPro 检测,OK 亮灯 / NG 灭灯(西门子 PLC,含界面显示与图片存档)
开发语言·经验分享·c#·自动化·视觉检测·.net
屹立芯创ELEADTECH7 小时前
先进封装RDL制程中的Build-up Film:关键应用、工艺挑战与发展趋势
大数据·人工智能·microsoft
hez20108 小时前
一行代码在 .NET 项目里启用 Satori GC
c#·.net·.net core·gc·clr
在繁华处10 小时前
2.1 上下文:决定 Agent 能力上限的关键
前端·人工智能·microsoft
IT技术分享社区11 小时前
在 Windows 上跑未改动的 Linux 程序:微软 LiteBox v0.1 把这件事变简单了
linux·运维·windows·microsoft·开源
QUDONG_biubiubiu11 小时前
.NET Runtime 6.0/7.0/8.0/9.0下载修复教程,软件打不开这样解决
.net·net runtime下载·net运行库修复·net runtime安装
宝桥南山12 小时前
.NET 11 - 尝试创建一下AGUIServer和AGUIClient(基于新版.NET SDK for AG-UI)
microsoft·ai·微软·c#·aigc·.net
波力海苔夹心脆67512 小时前
C# LINQ 入门到上手:一篇讲透查询语法、常用操作符与延迟执行(含示例与速查表
经验分享·c#·.net·solr·linq
ji_shuke1 天前
使用 Canvas 和 mix-blend-mode 实现跟随鼠标的反色圆圈
microsoft·计算机外设·canvas