SSRS:如何将数据集的行数从主报表传递到子报表(子报表)

SSRS: How to pass rowcount of a dataset from main report to subreport (child)

我在主报表中有一个数据集 (DataSet1)。主报告包含一个子报告(子报告)。我想知道如何将主报表中数据集 (DataSet1) 的行数传递给子报表(子报表)。 DataSet1 returns 1、2 或 3 行取决于查询中的参数。

我在主报表中使用了一个文本框并为其分配了表达式:

= RowCount("DataSet1")

然后我使用表达式将此文本框的值作为参数传递给子报表(子报表):

= Reportitems!textbox1.Value

主报表中的子报表(子报表)包含在列表对象中。此列表对象已分配它迭代的 DataSet1。

在子报表中,我在文本框中打印从主报表 (rowcount("DataSet1")) 传递的参数值,但它始终打印值 1 而不是打印 1、2 或 3,具体取决于情况.

我还尝试创建另一个 dataset2,它包含与 dataset1 相同的查询,但返回 SELECT COUNT(*) AS rc ..... 然后在 tablix 之外我创建另一个文本框并分配对它的表达:

= First(Fields!rc.Value)

根据具体情况,文本框中正确显示了计数 1、2、3 的值,但是当将其作为参数传递给子报表时,在子报表中它始终显示为 0。

我做错了什么?

您可以尝试将参数直接传递给子报表,而不是设置一个包含行数的文本框并将该值传递给子报表。 IE。 =CountRows("DataSet1") 在 'Change subreport parameters' 对话框中?