在报表中使用表达式(Visual Studio 报表设计器)

可以在 ReportViewer 报表中包括 Microsoft Visual Basic 表达式。可以使用表达式来计算报表项的值,或者计算样式和格式设置属性的值或其他报表项属性的值。可以使用所有 Visual Basic 函数,以及只有报表定义文件中支持的内置函数。

有关 ReportViewer 报表中常用表达式的详细信息,请参阅 报表的通用表达式(Visual Studio 报表设计器)

字段表达式

最基本类型的表达式是在文本框中显示字段值的表达式。这种类型的表达式称作字段表达式。若要将数据字段链接到报表项,表达式必须包括 Fields 集合、字段名称和 Value 属性。在您将字段拖至报表中时,会自动为您创建值。以下示例显示了在文本框中显示产品名称的表达式:

=Fields!Product.Value

表达式既可以是引用字段对象的短表达式,也可以是支持基于字段或其他报表项的判定函数或格式设置的长表达式。报表项和属性中的表达式必须以等号 (=) 开头。如果文本不以此字符开头,则将该文本作为字段的实际值进行计算。

字段表达式的示例如下:

  • 以下表达式连接 FirstName 字段和 LastName 字段。

    =Fields!FirstName.Value & " " & Fields!LastName.Value
    
  • 以下表达式对 LineTotal 字段执行求和聚合

    =Sum(Fields!LineTotal.Value)
    

有关 Fields 集合的详细信息,请参阅 报表中表达式的全局集合(Visual Studio 报表设计器)

条件格式设置

可以使用表达式来控制报表项的外观。例如,可以为文本框的 Color 属性编写一个表达式,以便根据不同的数据,以不同颜色显示数据。条件格式设置的示例如下。

  • 以下表达式(用于文本框的 Color 属性中)在“Cost”字段的值大于“Revenue”字段的值时,以红色显示值。在“Cost”字段的值小于或等于“Revenue”字段的值时,以黑色显示值。

    =IIf(Fields!Cost.Value > Fields!Revenue.Value, "Red", "Black")
    

有关条件格式设置的更多信息,请参见向报表中添加样式和格式(Visual Studio 报表设计器)

Reporting Services 函数

Reporting Services 提供了许多可在表达式中使用的内置函数。这些函数包括标准聚合函数(例如 SumMinMaxCount),以及其他一些函数(例如 RowNumberRunningValue)。有关函数及其说明的完整列表,请参阅 用于报表的内置函数(Visual Studio 报表设计器)

类引用和自定义代码

报表中的表达式也可以包含对 Microsoft.VisualBasicSystem.ConvertSystem.Math 命名空间中的类的引用。如果您使用其他系统命名空间的类或函数,则必须使用完整命名空间(如 System.Collections.ArrayList)。

如果您需要使用 Reporting Services 函数或默认类未提供的其他功能,可以使用自定义代码、其他标准程序集或报表代码块。为此,可以先生成一个自定义程序集,然后在表达式内引用该程序集。有关更多信息,请参见向报表中添加自定义代码(Visual Studio 报表设计器)

另请参见

概念

ReportViewer 控件 (Visual Studio)
报表概述 (Visual Studio)

其他资源

示例和演练