【问题标题】:SSRS Dynamically setting table position/locationSSRS 动态设置表位置/位置
【发布时间】:2013-03-22 18:33:19
【问题描述】:

我在报表生成器/设计模式中看到,有一个 Position 和 Location 属性,可让您设置表格应出现在距顶部或左侧多远的位置。

我的问题是,有没有办法在同一位置设置 2 个或更多表格(即页面顶部从顶部开始 0,从左侧开始 0),而不会在设计模式/报表生成器中将它们堆叠在一起?

有没有办法动态设置该位置属性?

例如,这是报表生成器中的报表草图:

top of page
---------------------------
Table 1 (hide)            |
                          |
                          |
                          |
Table 2 (show at top)     |
                          |
                          |
                          |
                          |
                          |
                          |
                          |
---------------------------

页面底部

【问题讨论】:

    标签: ssrs-2008 reporting-services ssrs-tablix


    【解决方案1】:

    Tablix 成员的位置属性不基于表达式。但是,您可以根据参数在报表中显示/隐藏对象,这会影响其他报表项的位置。一个简单的例子:

    一个带有Header、两个Tablix成员和一个参数HideTable的报表:

    顶部 TablixHidden 属性设置为 =Parameters!HideTable.Value,即参数切换是否显示。通过这种设置和布局,当第一个 Tablix 隐藏时,SSRS 会自动将第二个 Tablix 移动到报表的顶部 Body。见下文:

    所以它不是一个动态的位置,但通过使用其他功能,您可以实现与上述相同的功能。

    【讨论】:

      【解决方案2】:

      除了伊恩普雷斯顿提到的答案,如果表1没有数据,那么我们需要写如下:

      =Parameters!HideTable.Value or IIF(countrows("Tablix1")<1,True,False)
      

      这里,Tablix1 是第一个 tablix 名称 这样在 Table1 中数据不可用的情况下,该标题就不会出现

      【讨论】:

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