reporting-services - SSRS 报告 - 查找当前正在呈现的 tablix
问题描述
我正在尝试解决以下问题。我的报告中有两个 tablix。每个都有自己的数据集。我想根据正在呈现的 tablix 在页脚中显示不同的消息。每个表可能占用不同数量的页。任何想法?我专门针对 Word 导出。Alan 的回复中建议的内容不适用于 Word 导出。
谢谢
解决方案
如果我正确理解了您的问题,您可以使用报告变量和文本框来执行此操作。
下面是我使用的布局。为了清楚起见,我对一些区域进行了着色。
这两个表包含示例“人员”和示例“地址”,这些是我将在相应页面的页脚中显示的标签。
首先,您需要添加一个报表变量,因此右键单击报表正文的空白区域并选择“报表属性”,单击“变量”选项卡并添加一个名为的新变量LastTablix
,将其值设置为您第一次想要的任何值页脚是,在我的情况下是“人”。确保您取消选中只读选项
现在为您的报告添加一个页脚(在我的示例中为黄色)并在页脚中添加一个文本框(在我的示例中为绿色)。
将文本框的表达式设置为
=Variables!LastTablix.Value
确保名称拼写正确,区分大小写。
如果您现在运行报告,您将在每个页脚上看到“人员”,现在我们只需要一种方法来更改它。
接下来,添加一个新的文本框(示例中为红色)。将此文本框的表达式设置为
=Variables!LastTablix.SetValue("Addresses")
接下来,在第二个 tablix 上,将 PageBreak/BreakLocation 设置为Start
如果您现在运行报表,您应该会看到页脚更改为上述表达式中的文本。
现在您只需要将红色文本框尽可能小,将背景和字体颜色设置为空/白色,就应该这样。 注意:您不能将文本框设置为 Hidden=True,因为文本框不会被渲染,更新变量的表达式也不会执行。