隐藏SQL报表(RDL)中的子报表

时间:2008-09-22 18:29:57

标签: sql report rdl

我有一堆打印出来并邮寄给客户的报告。在报告的顶部是返回地址,左对齐。我被要求在报告中添加可选徽标。此徽标应留在退货地址。 (徽标和所有其他信息存储在数据库中)。因此,如果徽标存在,您应该看到:

< someimage> <退货地址>

如果没有徽标,你应该看到:

<返回地址>

许多不同的报告中可能存在许多不同的徽标,因此为了简化生活,徽标实现为子报告。子报告只是抓取正确的徽标图像,然后自动显示在报告中。

我遇到的问题是这个。如果日志不存在,那么我们希望返回地址左对齐,如上所示。但正在发生的事情是,虽然子报告没有显示任何内容,但它仍占用徽标所在的空间,并且返回地址漂浮在页面左侧右侧几英寸处。

           <Return Address>

所以...是否有一个我可以使用/设置的设置,如果没有要显示的徽标,可以让子报告显示或不占用任何空间?

抱歉,希望我说得够清楚。我是RDL的新手。

1 个答案:

答案 0 :(得分:1)

您应该能够在子报表的可见性上设置表达式,以便在没有徽标时不显示。

以下是我方便的RDL中的XML:

<Subreport Name="SubReport">
  <ReportName>SubReport</ReportName>
  <Visibility>
    <Hidden>=Not Parameters!ShowLogo.Value</Hidden>
  </Visibility>
</Subreport>

这是针对名为ShowLogo的布尔参数进行测试的,但您可以轻松地测试另一个参数的值(可能是URL的长度?)。

要明确的是,在为“隐藏”属性指定表达式时,如果希望显示该元素,则需要将其计算为False。如果表达式的计算结果为True,则表示该元素将被隐藏。