我有一个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)
但是第三行抛出错误
子报告中不支持。
这是什么错误?有什么建议么?
请注意,我不在子报表中使用参数。
答案 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的数据
当然,如果您当前的子报表包含组,则必须创建更多组。
此方法的另一个优点是因为子报表很慢。但这仅对于大型报告是一个问题。