【发布时间】:2015-04-06 23:55:42
【问题描述】:
Crystal Reports(随 Visual Studio 2008 分发的版本)出现了一些奇怪的行为。我可以正常查看报告,但尝试使用ExportToDisk 失败,出现以下异常:
CrystalDecisions.CrystalReports.Engine.InvalidArgumentException:
无法打印此组部分 因为它的条件字段是 不存在或无效。格式化 部分以选择另一个条件 场地。文件错误 C:\DOCUME~1\gbuehler\LOCALS~1\Temp\Report {2FD9516D-0FD4-4D20-A326-D21EB762EB9E}.rpt: 无效的组条件。 ---> System.Runtime.InteropServices.COMException (0x8000020B):
无法打印此组部分 因为它的条件字段是 不存在或无效。格式化 部分以选择另一个条件 场地。文件错误 C:\DOCUME~1\developer\LOCALS~1\Temp\Report {2FD9516D-0FD4-4D20-A326-D21EB762EB9E}.rpt: 无效的组条件。在 CrystalDecisions.ReportAppServer.Controllers.ReportSourceClass.Export(ExportOptions pExportOptions,请求上下文 pRequestContext) 在 CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext) --- 内部结束 异常堆栈跟踪 --- 在 CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(异常 吃 CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext) 在 CrystalDecisions.CrystalReports.Engine.FormatEngine.ExportToStream(ExportRequestContext reqContext) 在 CrystalDecisions.CrystalReports.Engine.FormatEngine.Export(ExportRequestContext reqContext) 在 CrystalDecisions.CrystalReports.Engine.ReportDocument.ExportToDisk(ExportFormatType 格式类型,字符串文件名)在 LSPayroll.MainForm.btnSendCanadian_Click(对象 发件人,EventArgs e) 在 C:\Documents 和设置\开发者\我的 文档\Visual Studio 2008\Projects\MyProject\MyProject\MainForm.cs:line 277
粗略搜索Invalid Group Condition 会返回正在寻找解决方案和建议以重新创建报告的其他用户。谁能给出一个合理的理由,为什么报告可以正常查看,但是ExportToDisk 失败并出现异常?
不确定是否有帮助,但这是我用来创建报告文档和导出的代码:
// build a crystal reports document in memory and use the crystal
// reports library to export as a PDF
ReportDocument reportDocument = new ReportDocument();
reportDocument.Load(reportPath);
reportDocument.SetDataSource(data);
reportDocument.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, "payroll.pdf");
【问题讨论】: