在VS 2010下将参数传递给RDLC中的子报告

Phi*_*ter 2 asp.net reportviewer rdlc visual-studio-2010

目前,我正在使用ASP.Net 4.0和2010 RDLC设计器在VS 2010中的报告网站上工作.我正在构建的报告类似于Master-detail报告,但我正在尝试使用嵌套表.

我的问题是我正在尝试将主报表中的字段值传递给子报表.表设置看起来像这样:

2表

第一张表:[RecordID,Name,Date,]第二张表:[RecordID,Description,DueDate]

我想要做的是这样一个表:

-------------------
|  Name  |  Date  |
------------------------------------
   |  Description1 |  DueDate      |
------------------------------------
   |  Description2 |  DueDate      |
------------------------------------
| Name2 | Date2 |
-----------------
Run Code Online (Sandbox Code Playgroud)

使用描述和DueDate的条目bieng子报告的一部分.

当我尝试将RecordID作为参数传递给子报表时,我必须在子报表的XML中手动定义,因为我无法在设计器UI中找到允许我向RDLC文件添加报表参数的任何位置,我从主报告中得到一个错误:

An error occurred during local report processing.
Value cannot be null. Parameter name: value 
Run Code Online (Sandbox Code Playgroud)

所以它似乎在它到达子报表加载点之前出错了.

我正在将数据发送到主报告中,如果我从子报表中删除参数,数据就会通过.但是如果我添加参数,报告会抛出错误.

有没有人对可能导致这种情况的原因有任何想法?

Phi*_*ter 10

我实际上最终搞清楚了.

如果您使用的是Visual Studio 2010,则需要进入报告定义文件并确保" 报告数据"窗口已打开.

如果找不到,请转到"查看"并单击"报告数据".

打开窗口后,右键单击Parameters文件夹并在其中添加参数.

在参数声明框中,如果是文本类型,请确保选择" 允许空值"和" 允许空值".这应该可以阻止该错误的发生.

出于某种原因,即使我总是有一个值,使用本地报告它会使用null初始化report参数,如果您不允许空值/空白,则会抛出该错误.