Page tree
Skip to end of metadata
Go to start of metadata

除了前文所述各类通用函数,葡萄城报表还支持微软RDL标准规范中的其他函数,以及一些特殊用途的函数。有关RDL标准规范函数,参见微软MSDN: https://msdn.microsoft.com/zh-cn/library/ms252112(v=vs.80)

函数

说明

语法与示例

GetFields

返回字段列表集合,仅限数据区域内使用。此函数可令复杂条件的表达式更易于编写。

=GetFields()

InScope

判断当前值是否在某个作用域内。

=InScope(<scope>)
=InScope("Order")

Level

返回当前值在层次结构中的级别。

=Level()

Lookup

返回外键关联的另一数据集的指定字段值。

=Lookup(<SourceExpression>, <DestinationExpression>, <ResultExpression>, <LookupDataset>)

Previous

返回指定作用域中的前一个值,例如上一行记录的某一字段的值。

=Previous(<Expression>)
=Previous(Fields!余额.Value)

RowNumber

返回当前行号

=RowNumber()


其中,应用较多的是Lookup和RowNumber函数。

Lookup函数

Lookup函数的典型用途是将多个数据集合并展示在同一个表格元素中。

函数语法定义:
=Lookup(<SourceExpression>, <DestinationExpression>, <ResultExpression>, <LookupDataset>)


参数说明:

  • SourceExpression:主数据集的一个字段值,通常是数据库外键字段值。
  • DestinationExpression:关联数据集的一个字段值,通常是数据库外键字段所参照的表的主键字段值。该字段的值应等于主数据集的SourceExpression字段值。
  • ResultExpression:关联数据集的另一个字段值,通常是数据库外键字段所参照的表的数据字段值。该字段值将显示在表格中。


例如:
主数据集dsProduct:字段列表为:产品代码、产品名称、类别ID。

关联数据集dsType:类别ID、类别名称。

表达式:=Lookup( Fields!类别ID.Value ,Fields!类别ID.Value,Fields!类别名称.Value, "dsType")

设计状态如下图:



报表效果如下图:

RowNumber函数

RowNumber函数返回当前行号,典型用途是实现行号自动展示和表格交替背景色。

在表格内的单元格设置为 =RowNumber(),如下图:

选中表格数据整行(注意不是单个单元格),设置BackgroundColor属性,选择<表达式…>,如下图:

输入表达式:=IIF(RowNumber() mod 2=0,"Silver","White")。

该表达式的含义为:如果行号能被2整除,则背景色为银色(Silver,视觉效果为浅灰色),否则为白色。预览报表效果,如下图:

  • No labels