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

翻译|行业资讯|编辑:胡涛|2023-08-07 14:19:31.330|阅读 67 次

概述:本文中主要给大家介绍如何在fastreport报表中改变报表的格式,欢迎查阅~

# 聚惠初夏 ·DevExpress、Aspose、MyEclipse等知名产品 送技术支持/VIP资源/无门槛优惠券 >>

相关链接:

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

FastReport.NET官方版下载

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

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

大多数的报告对象都有边框和填充。要处理这些属性,请使用 "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 .Net 中改变报表格式的介绍就讲解到这里了,点击此处查看关于用户指南的更多内容。如果您想获取更多产品试用/授权/价格信息,请点击FastReport .Net了解,或者点击咨询慧都在线客服


FastReport技术QQ群:585577353      欢迎进群一起讨论


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问

在线咨询
联系我们

客服热线
023-68661681

QQ客服

意见反馈


添加微信获专业服务

TOP
在线客服系统
live chat