如何在RDLC文件的列中显示CSV数据列表

时间:2013-02-22 18:38:10

标签: reporting-services ssrs-2008 reportviewer rdlc dynamic-rdlc-generation

我在Web应用程序中嵌入了一个报告,该报告工作正常,但我需要对其进行调整。现在报告基本上会从视图中转储所有行,我已经设置了一些过滤器,但我已经禁用它们来简化这一点并使其正常工作。我昨天花了一整天的时间试图让这个工作正常,尝试许多不同的组合。最终目标是获取一组数据并将其显示为数据所属的同一行中的逗号分隔列表。

我的数据是一个项目列表,每个项目可以有多个与之关联的人员,而不是每个人都有一个新行,我们希望一列中的所有人都用属于项目的逗号分隔。 SQL中的一项简单任务。

SELECT dbo.APM_Project.Code, dbo.APM_Project.Title, 

              (STUFF((SELECT(', ' + vi.NameFirst)
              FROM view_OrganizationPerson vi
              JOIN APM_Project as p ON vi.ProjectId = p.Id
              WHERE vi.ProjectId = APM_Project.Id
              AND vi.Role = 'Principal Investigator'
              AND vi.Status = 'Active'
              FOR XML PATH('')), 1, 2, '')) AS PI_


FROM         dbo.APM_Project 

此外,我尝试了生成逗号分隔列表的SUBSTRING方法,当我运行SQL脚本时,所有这些方法都很有效,当我在visual studio中预览数据集中的数据时,它们也可以工作所以必须做对。我得到了我想要的结果但是当我运行应用程序时,我在列中没有使用

的表达式获得数据
=Fields!PI_.Value

=First(Fields!PI_.Value, "DataSet1")

所以我不确定从哪里开始。这似乎应该是一个非常简单的任务,当我运行表达式

=Fields!PI_.IsMissing

它回来了,所以在运行时丢失了一些东西,我无法弄清楚它可能是什么。

项目的所有其他数据都出现在文本框中,只有PI_列留空。

问题是:如何在RDLC文件的一行数据的一列中显示CSV数据列表?

1 个答案:

答案 0 :(得分:0)

原来这是有效的。我需要更新.aspx页面,因为我更改了数据集后对数据适配器本身所做的更改。