VS 2010中的RDLC,如何在表格行中显示动态数据

时间:2012-12-06 15:02:36

标签: reporting-services reporting rdlc dynamic-rdlc-generation

我准备好了报告和数据。该报告就像我需要从DDLB中选择一个中心名称(例如:Raleigh(0003))。我会提交。现在我将收到罗利中心的报告。在这里,我需要看到报告顶部的文字,如“Raleigh(0003)的天气报告”作为标题。每当我选择不同的中心时,它应该自动显示报告顶部的特定中心。 我试图添加表,从数据集和表达式中给出列(CENTER_ID),我给了喜欢 - > =“天气详情:”&菲尔兹!CENTER_ID.Value&“ - ”&场!CENTER_NAME.Value。这是问题,它要么逐行显示所有中心,要么显示特定的中心名称,而不管选择如何。请帮助我,因为它非常重要。

感谢。

1 个答案:

答案 0 :(得分:0)

当您从下拉列表中选择一个中心时,它会填充一个参数,您必须使用该参数来过滤查询或过滤表格。根据完整查询返回的行数,最好做一个或另一个,例如如果有1000行,则应过滤查询,而不是Tablix。如果它不是很多行,那么可以选择Tablix。

如果参数名为@center,那么您可以在标题中使用此公式:

="Weather details: "& Parameters!center.value

这假定你的参数是“文本”类型。如果它是数字或日期,那么您可能必须首先使用CStr()将其转换为字符串。

="Weather details: "& CStr(Parameters!center.value)

它向您显示“特定中心名称而不考虑选择”的原因是因为您告诉它将数据集列(多行)放入单个单元格中。这将强制它始终在第一行显示值,或者如果您将它放在Tablix的详细信息行中,它将输出每个值。

如果您过滤查询而不是Tablix,则可以可靠地使用它:

 ="Weather details:"& First(Fields!CENTER_ID.Value,"datasetname") &" - " & First(Fields!CENTER_NAME.Value,"datasetname") 

因为first()函数将从数据集的第一行返回单个值。