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

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

猜你喜欢

转载自blog.csdn.net/m0_67129275/article/details/132404582