嵌套水晶报表错误**子报表不支持**

时间:2018-12-27 08:33:55

标签: vb.net crystal-reports subreport

我有一个vb.net解决方案,该解决方案是使用vs 2010和.net framework 4.0开发的。

在提交按钮上,将使用Crystal Reports 13.0.2版生成报告。报告中填充了数据集,其中一些是嵌套报告。 假设我有报告A,其中子报告B,而B包含子报告C。我正在使用以下代码填充数据:

MainReport.Load(Server.MapPath("~\Reports\A.rpt"))
MainReport.OpenSubreport("B.rpt").SetDataSource(DsB)
MainReport.OpenSubreport("B.rpt").OpenSubreport("C.rpt").SetDataSource(DsC)

但是第三行抛出错误

  

子报告中不支持。

这是什么错误?有什么建议么?

请注意,我不在子报表中使用参数。

2 个答案:

答案 0 :(得分:0)

Crystal Reports不支持嵌套子报表。这是设计使然。

另请参阅以下讨论:
https://archive.sap.com/discussions/thread/3348939
https://archive.sap.com/discussions/thread/2142327
http://www.crystalreportsbook.com/forum/forum_posts.asp?TID=193

您需要重新设计报告。

答案 1 :(得分:0)

MatSnow明确指出了错误所在。

作为建议,我通常要做的解决方法是将组和详细信息部分组合在一起。

我不能说t总是可能的,但主要思想是使用组部分显示A的数据,使用详细信息部分显示B的数据,并使用子报表显示C的数据

当然,如果您当前的子报表包含组,则必须创建更多组。

此方法的另一个优点是因为子报表很慢。但这仅对于大型报告是一个问题。