如何在SQL 2005 Reporting Services报告的标题中显示数据?

时间:2008-09-15 15:28:07

标签: sql reporting-services header report

开箱即用的SSRS报告无法在页眉中显示数据。有没有办法让这些数据显示出来?

7 个答案:

答案 0 :(得分:6)

我在报告中想要的一件事就是为我的报告提供漂亮的标题。我希望有一个徽标和用户的报告参数以及其他数据,以便为报告需要澄清的业务需求提供更多信息。 Microsoft SQL Server 2005 Reporting Services无法本机执行的操作之一是显示标头中数据集的数据。这篇文章将解释如何解决这个问题以及它是多么容易。

在Business Intelligence Projects部分中创建Report Server项目,并将其命名为AdventureWorksLTReports。我使用CodePlex的AdventureWorksLT示例数据库。

alt text http://www.cloudsocket.com/images/image-thumb.png

接下来,使用设计器右键单击“报告”区域,显示页眉。

alt text http://www.cloudsocket.com/images/image-thumb1.png

将出现页眉。如果要显示页脚,可以从与页眉相同的菜单访问它。

alt text http://www.cloudsocket.com/images/image-thumb2.png

我创建了一个存储过程,该过程返回要在页眉中显示的销售订单的数据。我将在页眉中显示有关销售订单的以下信息:

  • 订单日期
  • 销售订单编号
  • 公司
  • 销售人员
  • 总到期

我为Page Header中的每个数据字段创建一个TextBox以及相应标签的TextBox。请勿更改要在其中输入销售订单数据的文本框中的表达式。

alt text http://www.cloudsocket.com/images/image-thumb3.png

在报表正文中,为页眉中所需的每个数据字段放置一个TextBox。在每个TextBox的Visibility中,选择True for Hidden。这将是页眉中所需数据的占位符。

alt text http://www.cloudsocket.com/images/image-thumb4.png

您的报告应与下面显示的屏幕截图类似。

alt text http://www.cloudsocket.com/images/image-thumb5.png

最后一步,最重要的是引用位于页眉中的TextBox中的隐藏文本框。我们使用以下表达式来引用所需的TextBox:

= ReportItems!.value的

您的报告现在应该类似于以下内容:

alt text http://www.cloudsocket.com/images/image-thumb6.png

您的报告预览现在应该在报告标题中包含销售订单标题数据。

alt text http://www.cloudsocket.com/images/image-thumb7.png

答案 1 :(得分:4)

你必须通过参数来做到这一点。为要显示的每个数据添加一个参数,然后将参数设置为Hidden。然后将默认值设置为“From Query”,并将Dataset和Value字段设置为适当的值。

答案 2 :(得分:1)

我认为最好的选择是创建一个内部参数,默认值是您要显示的数据集的字段。

答案 3 :(得分:0)

以下是两种可能的解决方法

  1. 您可以将数据绑定字段作为隐藏文本框放在报表正文中,然后在标题中放置另一个文本框,其值指向隐藏在正文中的文本框。

  2. 尝试使用报告参数存储数据,并使用这些参数访问标题中的数据。

答案 4 :(得分:0)

如果您的报告跨越多个页面,使用查询的参数,并将文本框值设置为= Parameters!Name.Value,则this article将无法使用此技术。

答案 5 :(得分:0)

我和猎户座阿德里安在这里。报告参数是要走的路。

答案 6 :(得分:0)

我想在标题中显示所有返回行共有的字段,对于这种情况,我选择了链接表解决方案(将包含字段的表放在正文中并将标题中的文本框链接到此表)。

我之所以这样做,是因为如果您正在使用参数解决方案且没有数据返回到相关字段,则文本"参数缺少值"显示而不是只是一个空白表。我认为这个文本会让用户感到困惑(因为参数甚至不可见)。