报表生成器FastReport .Net用户指南:改变报表格式

本文详细介绍了FastReport.Net的特性,如对象外观定制、边框和填充设置、文本格式化、数据格式化、条件格式化(包括颜色突出、隐藏值和重复值处理)等,帮助用户创建国际化的.NET报表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案,使用FastReport .NET可以创建独立于应用程序的.NET报表,同时FastReport .Net支持中文、英语等14种语言,可以让你的产品保证真正的国际性。

在本节中,我们将研究以下问题:

  • 改变一个物体的外观;
  • 改变打印值的格式;
  • 当满足某种条件时,自动改变一个对象的外观;
  • 隐藏不必要的值;
  • 甚至用不同的颜色突出显示数据行。
边框和填充

大多数的报告对象都有边框和填充。要处理这些属性,请使用 "Border and Fill "工具条:

3

该对象的边框由四条线组成。每条线可以有不同的宽度、颜色和样式。工具栏上的按钮影响框架的所有线条。 

按钮显示一个对话框,可以分别设置每条线:

4

为了处理填充问题,工具栏上有两个按钮。 

按钮允许为实体填充类型选择一种颜色。

按钮显示一个对话框,允许在不同的填充类型之间进行选择:

5

文本格式化

要改变 "Text "对象的外观,请使用 "Text "工具条:

6

设置Styles

为了设置对象的外观,你可以使用样式。样式是以下属性的集合:

  • 边界
  • 填充
  • 字体
  • 文字颜色

样式列表存储在一个报告中。你可以通过 "Report|Styles... "菜单或 "样式 "工具栏上的 

 按钮来控制它:

7

你可以通过以下方式设置一个对象的样式:

  • 在 "Properties "窗口中设置 "Style "属性;
  • 使用 "Style "工具条:

8

当你设置对象的样式时,对象的外观将根据样式设置而改变。当你改变风格设置时,具有该风格的对象将自动改变。

数据格式化

为了在报告中打印文本数据,使用了 "Text "对象。它对来自数据源的所有数据使用默认格式。例如,"DateTime "类型的数据源列将以如下方式打印(这取决于你的系统的区域设置):

11.10.2008 18:04:52

如果你只需要打印日期部分,你必须设置数据的格式。要做到这一点,右击 "Text "对象,显示其上下文菜单。在菜单中,选择 "Format..."项目。你会看到格式编辑器窗口:

9

你可以选择一种可用的格式化类型,或设置自己的格式化字符串。要做到这一点,请选择 "Custom "格式化。如果 "Text "对象包含几个数据列或表达式,你可以为它们每个选择适当的格式。要做到这一点,在窗口顶部选择表达式,然后选择格式:

10

你也可以使用String.Format方法对数据进行格式化。在MSDN中获取该方法的帮助。

Today is [String.Format("{0:d}", [Date])]
突出显示

根据给定的条件来改变 "Text "对象的外观。如果一个对象有一个负值,它可以用红色突出显示。这个功能被称为 "conditional highlighting"。要设置它,选择 "Text "对象并点击 "Text "工具栏上的 

按钮,你会看到以下对话窗口: 

1

可以定义一个或几个条件,并为每个条件设置样式。样式可以包含一个或几个设置:

  • 填充
  • 文本颜色
  • 字体
  • 对象的可见性

你可以指出,当条件得到满足时,哪些设置需要被改变,再使用复选框检查。默认情况下,一个新的样式包含一个设置 - 文本颜色。

为了创建一个新的条件,点击 "Add "按钮。你会看到一个表达式编辑器:

10

在这里,可以写任何返回布尔值结果的表达式。在许多情况下,你将使用 "Value "变量,它包含当前打印的值。
让我们看看下面的例子:我们有一个 "Text "对象,我们在其中打印产品的库存量:

[Products.UnitsInStock]

在产品数量=0的情况下,将该对象涂成红色,故需创建以下条件:

Value == 0

在给定的案例中,我们使用了 "Value "变量,它有一个打印的值。如果一个对象中有几个表达式,那么这个变量将有最后一个表达式的值。你可以使用一个数据列来代替 "Value":

[Products.UnitsInStock] == 0
The expression is written in C# style. This is so, if the chosen report language is C#. For VisualBasic.Net you must use the single "=" sign. The report language can be changed in the "Report|Options..." menu.

为给定的条件配置样式,使之只能使用填充,并选择红色:

11

当打印一个数值为零的对象时,它会是红色的。如果库存单位小于10,它必须被打印成黄色。要做到这一点,打开条件编辑器,点击 "Add"按钮。第二个条件将是这样的:

Value < 10

在指出几个条件的情况下,FastReport检查所有的条件,从第一个条件开始。如果某个条件被满足,FastReport将其样式设置应用到对象上,然后过程停止。把条件放在一个正确的顺序中是很重要的。

1. Value == 0   2. Value < 10 
隐藏零值

"Text "对象有 "HideZeros "属性,可以用来隐藏零值。以下为例:

Total elements: [CountOfElements] 

如果变量CountOfElements的值等于0,并且属性HideZeros被设置为 "true",那么该对象将被打印出来,如下所示:

Total elements:

"Text "对象也有 "HideValue "属性,可以用来隐藏等于给定值的表达式的值。如果该属性值为 "0",那么所有的零字段将被隐藏。这个属性也可用于隐藏零日期。通常情况下,它是一个像 "1.1.0001 "或 "1.1.1900 "这样的日期。在这种情况下,"HideValue "属性的值必须像这样:

1.1.1900 0:00:00

正如你所看到的,除了日期之外因为.Net中的日期值也包含时间,你还需要指出时间。

<img src="https://image.evget.com/2023/07/07/3297pc3jvjjl0ame22.png" width="350" height="125" />

"Text "对象的 "NullValue "属性允许打印一些文本而不是空值。它经常被用来打印破折号而不是空值。让我们看看一个有以下内容的对象:

Total elements: [CountOfElements] 

如果变量CountOfElements的值为空,并且属性NullValue被设置为------,那么该对象将被打印出来,如下所示:

Total elements: -- 
隐藏重复值

“Text "对象有 "Duplicates "属性,允许控制如何打印重复的值。如果 "Text "对象在 "Data "带上,就可以使用这个属性。如果这些值被打印在附近的数据行中,则被认为是重复的。

"Duplicates "属性可以有以下值之一:

  • 显示 - 显示重复值(默认)
  • 隐藏 - 隐藏有重复值的对象
  • Clear - 清除对象的文本,但显示对象
  • 合并 - 合并几个具有相同值的对象

这些模式的区别如下图所示:

12

突出显示奇数/偶数数据行

为了改善报告的外观,你可以用不同的颜色突出显示偶数数据行。这可以通过使用带子或其对象的 "EvenStyle "属性来实现。该属性包含一个样式名称,它将被用于突出显示偶数带行:

It is preferable to use the "EvenStyle" property of the object instead of the band. This avoids possible problems when exporting the report.、

为了配置突出显示,请做以下工作:

定义用于突出显示行的样式。这可以在 "Report|Styles... "菜单中完成。

在带子或其对象的 "EvenStyle "属性中指出新样式的名称。
默认情况下,对象只使用 "EvenStyle "属性中给出的样式的填充属性。这种行为在 "EvenStylePriority "属性中定义--默认为 "UseFill"。如果你需要使用其余的样式参数,请将此属性设置为 "UseAll"。

一个准备好的报告,使用这种技术,可以看起来像这样:

13

这个指南让你熟悉报表设计器和了解报表设计的基本概念(各种区域,数据源,二次表,等等)。指南将帮助你开始用FastReport创建报表,但它不能告诉你怎样使用其它基本的报表设计器。 如果你不熟悉报表设计器,我们建议你参考QuickReport的帮助系统。QuickReport的指南已经包含在你的Delphi拷贝中。QuickReport的大部分基本概念也适用于FastReport,然而,FastReport能提供更多的弹性和最终用户的自定义。 关于FastReport的说明 FastReport是高弹性的报表设计器,用于报表的数据可以从任何类型的数据源获取,包含字符列表,BDE数据库,ADO数据源(不使用BDE),Interbase(使用IBO),Pascal数组和记录,以及一些不常用的数据源。 整个FastReport系统是用Delphi的Pascal编写的。FastReport不需要动态链接库,但需在你的项目中占用大约400kb(Delphi 5)。如果你想最终用户拥有设计能力,这将在你的.EXE中增加大约500kb。虽然这看上去比较大,但这只是其它设计的几分之一。你同样应该考虑到FastReport不仅仅只是包含最终用户更改报表设计的能力,还能够适应查询和数据库的变化。FastReport还包含自己的脚本语言,让应用程序和最终用户能够更容易地改变报表。如果你的大部分应用使用FastReport,你可以简单地配置FastReport BPL(大约1400kb)而所有你的应用程序只需要保留很少的一部分。 你可以发现FastReport有一个非常吸引人的用户界面,使用最新的用户界面组件,例如可停靠的工具栏。你的最终用户将会非常愿意使用这个设计器,只需使用鼠标就可以创建大多数报表FastReport是名副其实的快速报表:较其它一些Delphi报表设计器而言,你可以发现没有什么可以接近于它的开发速度。报表预览窗口一直是大多数报表设计器的弱点,高品质的外观,赋于你的应用程序非常专业的用户界面。 FastReport是一个已经拥有三年历史的非常成熟的报表设计器,成长使它拥有其它Delphi报表设计器所不能相比的诸多先进特性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值