【问题标题】:Reporting Services: How to place a report parameter in the headerReporting Services:如何在标题中放置报表参数
【发布时间】:2008-12-29 21:53:13
【问题描述】:

我有两个报表参数,它们是在我创建关联数据集时自动设置的。它们是 ReportID 和 CompanyID。用户从列表框中选择公司名称并从另一个列表框中选择报告名称。标准的 SELECT ID, Name FROM TableName 查询用于填充相应的列表框。报告参数工作正常,报告显示正确。我的问题是这个。我想将选定的报告名称和公司名称放在报告标题中(这些是用户在点击查看报告按钮之前从下拉列表中选择的名称值。我设置了两个新参数,报告名称和公司名称;标记将它们隐藏并将其默认值设置为适当的数据集。问题是标题始终显示列表中的名字,而不是用户选择的名称。我的问题是,如何将所选信息放入标题中?

【问题讨论】:

  • 为什么要设置两个新参数?为什么那些自动创建的不工作?

标签: reporting-services


【解决方案1】:

使用从查询中填充的原始参数集执行此操作没有问题。

在我的报告中,我有一个由“SELECT FarmNumber, FarmName FROM Farms”查询填充的“农场”参数。用户从 ComboBox 中选择他想要的农场。我使用以下表达式在报告的标题中显示选定的农场:

=Parameters!Farm.Label

“标签”是用户选择的农场的“显示文本”(本例中为农场名称)。

【讨论】:

  • 非常感谢。我认为它应该是这样简单的东西。我只需要更好地处理所有可用的属性。再次感谢您的帮助。
  • 仅供参考,对于日期参数,如果您不希望显示时间部分,使用Value 属性而不是Label 属性可能会更好。例如,将=Parameters!StartDate.Label 替换为=Parameters!StartDate.Value。然后,如果时间部分设置为午夜,则不会显示。
【解决方案2】:

将Parameters!ReportID.Value 放入标题中的文本框不起作用吗?

听上去,您应该使用在“ReportID”位置中命名的任何原始参数。

【讨论】:

    【解决方案3】:

    使用 SSRS 2008 R2,我有一个带有多个参数的标头:

    My Export for [@ReportDate] [@AccountId.Label]
    

    【讨论】:

      【解决方案4】:

      如果 CompanyID 是一个多值参数,这将起作用:

       =Join(Parameters!CompanyIDs.Label,System.Environment.NewLine)
      

      【讨论】:

        【解决方案5】:

        =Parameters!Farm.

        用标签替换值

        =Parameters!Farm.标签

        【讨论】:

          猜你喜欢
          • 2010-09-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-01-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多