将子报表添加到 rdl table 单元格

Adding a subreport to rdl table cell

我有这份 RDL 报告,它需要显示一个对象列表。 每个对象本身包含多个图表和 tables 所以我的想法是在我的报告中添加一个 table 并将子报告添加到 table 单元格并提供每个对象的 ID通过子报表的参数。

这是我的报告目前的样子:

许多站点建议可以通过导航到支持属性屏幕并使用 "Use this report as subreport" 部分上的浏览按钮来选择正确的文件,但我的设计器没有浏览按钮:

我的第一个想法是只输入路径。但这不起作用,因为它不支持 : 或 \

在这里我想提一下,我们将报告部署在应用程序部署文件夹的子文件夹中(通常是 "C:\Program Files\Company\Application\data\ReportDefinitions" 行中的内容),而且报告文件不包含在应用程序的解决方案中。它们会根据需要在 运行 时间加载。

我还检查了 msdn 对此事的看法。有些页面建议使用类似 ="path" 的表达式,但出于同样的原因,这不起作用。

Microsoft 的另一篇文章是这样说的:

但这不管用,因为它无法以任何方式找到报告子报告:

我已经双重检查和三次检查。子报表与主报表在同一个文件夹中,名称正确,但就是看不到

我已经在这上面花了好几个小时,我觉得我已经用尽了所有的选择。 我错过了什么?

看来我的问题是没有正确加载子报表。 我以务实的方式加载和呈现我的报告。添加以下行解决了问题

localReport.LoadSubreportDefinition(
            "SingleCalibrationCurveReport",
            new StreamReader(Path.Combine(this.systemSettings.DataPath, @"ReportDefinitionFiles\SingleCalibrationCurveReport.rdlc")));