如何在SQL 2005 Reporting Services报表的标题中显示数据?
开箱即用的SSRS报告不能在页眉中暴露数据。有没有一种方法可以显示此数据?
解决方案
回答
我们必须通过参数来完成。为要显示的每条数据添加一个参数,然后将该参数设置为"隐藏"。然后将默认值设置为"来自查询",并将"数据集和值"字段设置为适当的值。
回答
这是两个可能的解决方法:
- 我们可以将数据绑定字段作为一个隐藏的文本框放置在报表主体中,然后在标题中放置另一个文本框,其值指向该文本框内隐藏的文本框。
- 尝试使用报表参数存储数据,然后使用这些参数访问标题中的数据。
回答
我想在报告中做的一件事是为报告添加漂亮的标题。我喜欢具有徽标和用户的报告参数以及其他数据,以显示报告需要澄清的业务需求的更多信息。 Microsoft SQL Server 2005 Reporting Services本身无法执行的操作之一是在标头中显示来自数据集的数据。这篇文章将解释如何解决这个问题以及它是多么容易。
在"商业智能项目"部分中创建报表服务器项目,并将其命名为AdventureWorksLTReports。我使用CodePlex的AdventureWorksLT示例数据库。
替代文字http://www.cloudsocket.com/images/image-thumb.png
接下来,通过与设计人员一起在"报告"区域中单击鼠标右键,以显示"页面标题"。
替代文字http://www.cloudsocket.com/images/image-thumb1.png
页面标题将会出现。如果要显示页面页脚,可以从与页面页眉相同的菜单中访问。
替代文字http://www.cloudsocket.com/images/image-thumb2.png
我创建了一个存储过程,该过程返回要在页面页眉中显示的销售订单的数据。我将在页面页眉中显示有关销售订单的以下信息:
- 订购日期
- 销售订单号
- 公司
- 销售人员
- 应付总额
我为页面标题中的每个数据字段创建一个TextBox以及对应标签的TextBox。不要在想要销售订单数据的文本框中更改表达式。
替代文字http://www.cloudsocket.com/images/image-thumb3.png
在报表主体中,为页面标题中所需的每个数据字段放置一个文本框。在每个文本框的可见性中,为"隐藏"选择"真"。这将是页面页眉中所需数据的占位符。
替代文字http://www.cloudsocket.com/images/image-thumb4.png
报告应类似于以下所示的屏幕截图。
替代文字http://www.cloudsocket.com/images/image-thumb5.png
最后一步,也是最重要的一步,是引用位于页眉的TextBox中的Hidden TextBox。我们使用以下表达式来引用所需的文本框:
= ReportItems!.Value
报告现在应类似于以下内容:
替代文字http://www.cloudsocket.com/images/image-thumb6.png
现在,报表预览中应在报表标题中包含销售订单标题数据。
替代文字http://www.cloudsocket.com/images/image-thumb7.png
回答
如果报告跨越多个页面,而是使用查询的参数,并且按照本文将文本框的值设置为= Parameters!Name.Value,则此技术将无效。
回答
我和Orion Adrian在一起。报表参数是解决方法。