【问题标题】:How to shrink 'list' object in Reporting Services如何在 Reporting Services 中缩小“列表”对象
【发布时间】:2008-11-04 23:46:56
【问题描述】:

我在 SSRS 2005 的“列表”对象中包含一个表格和一个关联的图表。我使用表达式来确定表格和图表的可见性,但是当表格和图表不可见时,一个丑陋的大空白空间(否则它们会被渲染)出现在报告中。

如果只呈现一些对象,是否有任何功能可以“缩小”列表对象?

例如,我有一个包含 3 个项目的列表:

一个

C

项目 B 不符合可见性标准,因此其可见性设置为 false。结果是:

一个

C

但我想要:

一个
C

有什么建议吗?

【问题讨论】:

    标签: sql-server reporting-services


    【解决方案1】:

    我不确定我是否完全理解这个问题,但是,你为什么不过滤结果而不是改变它们的可见性呢?我有类似的问题,我的解决方案是重做报告,我发现可见性是有问题的而不是有用的。

    【讨论】:

    • 好的,所以我想如果没有数据表明“没有数据...”,我可以将一些逻辑写入文本框以使其可见,然后过滤列表中的表格和图表... .只是看起来很乱。
    • 另一种方法是过滤来自数据源的数据,但这取决于您尝试制作的报告类型。如果用户不需要与之交互,您可以从数据源中进行交互,这样您就不必在报表中的每个对象中放置过滤器。
    【解决方案2】:

    据我所知,列表高度会根据其中控件的可见性自动增长和缩小。如果它是表格或图表,请确保将可见性设置为整个控件。

    【讨论】:

      【解决方案3】:

      另一种解决方案是在表格中显示您的项目,并将表格放置在列表中。

      1. 将每个项目放在一个表格行(表格标题)中。
      2. 根据项目的可见性设置表格行的可见性。

      如果将一项的可见性设置为“隐藏”,则整个表格行将被隐藏,根本不会显示。

      最好的问候

      【讨论】:

        【解决方案4】:

        我刚刚解决了这个问题。可见性将负责使项目不可见,但是该行仍然是空的。

        我的结果:

        如果 A 和 C 已填充,但 B 为空。

        标题 A
        字段 A
        标题 C
        字段 C

        解决办法:

        1. 使用尽可能小的单个文本框(例如 1 行)创建一个列表区域。
        2. 将文本框的 CanGrow 和 CanShrink 属性设置为 true
        3. 用所有报告字段填充文本框。
        4. 修改报表标题的表达式,如果相关字段为空白,则写“”,否则写字段标题和回车符。
        5. 修改报告字段的表达式,如果为空,则写“”,否则写字段和回车符。

        示例标题表达式: =IIf(Len(Fields!Highlights.Value)>2, "亮点"+VbCrLf, "")

        示例字段表达式: =IIf(Len(Fields!Highlights.Value)>2, Fields!Highlights.Value+VbCrLf, "")

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-04-21
          相关资源
          最近更新 更多