使用参数控制报表外观

可以通过更改报表和报表项的属性值来更改它们的外观。因为报表中的许多属性都是基于表达式的,并且这些表达式可以包含对参数的引用,所以您可以灵活提供允许用户更改报表外观的参数。例如,对文本框而言,基于表达式的属性包括字体颜色、样式、效果、背景色、边框颜色、填充和可见性。处理每个基于表达式的报表项属性时,报表处理器会首先将参数值代入到表达式中,然后计算该表达式。

创建基于表达式属性参数的另外一个原因是为不同用户提供自定义报表。您可以编写一个报表定义,并使用参数创建一系列链接报表来更改报表对不同观众的显示方式。还可以使用控制报表打开时节点展开或折叠的参数创建明细报表。用户可以选择用他们的首选方法查看该报表。

您可能希望创建控制报表外观的报表参数的其他原因包括:

  • 设置数据区域中颜色编码值的阈值。例如,以红色文本显示低于某些可调整阈值的货币值。

  • 允许用户自定义表中使用的图像。

  • 允许用户控制数据区域中的排列顺序。有关详细信息,请参阅对报表中的数据进行排序

  • 有条件地控制报表项的可见性。例如,您可能想要通过最初隐藏一些报表项,来实现自己的报表摘要和详细信息视图,并且提供参数,以便用户可以选择显示报表中的所有项。

使用“报表参数属性”对话框创建报表参数。提供有效值和用户提示的列表。只有在运行报表时,对参数所做的更改才会反映在报表中。如果您希望自动运行报表,请创建默认值。

控制可见性

可以针对报表项使用包含可见性属性 HiddenInitialToggleStateToggleItem 中参数的表达式,来显示和隐藏报表项。设置相应的**“属性”对话框的“可见性”**页中的报表项属性,或设置设计图面上所选报表项的“属性”窗格中 Hidden 属性的报表项属性。

例如,您可以使用下列表达式基于名为 Show 的布尔参数设置文本框的可见性、列标题、表行,或组头:

=Not Parameters!Show.Value

当参数 Show 为 true 时,Hidden 属性中的表达式在运行时的计算结果为 false,所以报表项可见。有关详细信息,请参阅有条件地隐藏报表项

有关最初隐藏报表项时保留空格的规则,请参阅呈现报表项

有关如何控制行和列的可见性的详细信息,请参阅教程:向报表添加参数

控制格式设置

文本框具有可应用于单个文本框内所有文本的字体和样式属性。您可以使用表达式设置其中的许多属性。例如,可以创作一个显示销售利润的销售报表,并定义一个允许用户指定阈值的参数。高于阈值的值使用红色字体显示,而低于阈值的值使用黑色字体显示。

若要将字体颜色设置为条件样式,请对显示销售利润的文本框的 Color 属性使用引用阈值参数的表达式,而不要使用静态值。例如,创建一个包含 Sales 字段总和的名为 Profit 的计算字段,并添加包括 Profit 字段的名为 Threshold 的报表参数。在文本框的“属性”窗格的**“颜色”**属性中,输入以下表达式:

=IIF(Fields!Profit.Value < Parameters!Threshold.Value, "Red", "Black")

控制图像

您可以提供一个参数,允许用户选择报表中的图像。例如,可以创建一个名为 ImageName 的参数,并提供一个提供有效图像名称的可用值的数据集。添加图像到设计图面上,并根据需要设置图像属性,以指定在何处查找图像源。然后将图像报表项的 Value 属性设置为下列表达式:

=Parameters!ImageName.Value

用户选择参数 @ImageName 的值,并运行该报表时,会出现图像报表项相应的图像。

使用参数控制组

可以创建一个参数,以便用户能够控制数据区域中数据的分组方式。例如,若要允许用户控制用于对表中数据进行分组的字段,请创建一个名为 GroupValue 的参数。必须提供一组有效字段名称,才能对该参数的可用值进行分组。为表创建一个行组,并将组表达式设置为下列表达式:=Fields(Parameters!GroupValue.Value).Value。处理报表时,组表达式的计算结果为选定的字段。