除了前文所述各类通用函数,葡萄城报表还支持微软RDL标准规范中的其他函数,以及一些特殊用途的函数。有关RDL标准规范函数,参见微软MSDN: https://msdn.microsoft.com/zh-cn/library/ms252112(v=vs.80)
函数 |
说明 |
语法与示例 |
GetFields |
返回字段列表集合,仅限数据区域内使用。此函数可令复杂条件的表达式更易于编写。 |
=GetFields() |
InScope |
判断当前值是否在某个作用域内。 |
=InScope(<scope>) |
Level |
返回当前值在层次结构中的级别。 |
=Level() |
Lookup |
返回外键关联的另一数据集的指定字段值。 |
=Lookup(<SourceExpression>, <DestinationExpression>, <ResultExpression>, <LookupDataset>) |
Previous |
返回指定作用域中的前一个值,例如上一行记录的某一字段的值。 |
=Previous(<Expression>) |
RowNumber |
返回当前行号 |
=RowNumber() |
其中,应用较多的是Lookup和RowNumber函数。
Lookup函数的典型用途是将多个数据集合并展示在同一个表格元素中。
函数语法定义:
=Lookup(<SourceExpression>,
<DestinationExpression>, <ResultExpression>,
<LookupDataset>)
参数说明:
例如:
主数据集dsProduct:字段列表为:产品代码、产品名称、类别ID。
关联数据集dsType:类别ID、类别名称。
表达式:=Lookup( Fields!类别ID.Value ,Fields!类别ID.Value,Fields!类别名称.Value, "dsType")
设计状态如下图:
报表效果如下图:
RowNumber函数返回当前行号,典型用途是实现行号自动展示和表格交替背景色。
在表格内的单元格设置为 =RowNumber(),如下图:
选中表格数据整行(注意不是单个单元格),设置BackgroundColor属性,选择<表达式…>,如下图:
输入表达式:=IIF(RowNumber() mod 2=0,"Silver","White")。< /FONT>
该表达式的含义为:如果行号能被2整除,则背景色为银色(Silver,视觉效果为浅灰色),否则为白色。预览报表效果,如下图: