Visual Studio的Crystal报表挂在ReportDocument.Close上

时间:2018-11-02 14:52:51

标签: c# winforms crystal-reports

我们正试图从Crystal Reports 10(旧的COM版本)迁移到Visual Studio的最新Crystal Reports。 (截至撰写本文时,为13.0.23)。我们遇到了各种各样的问题,因此我尝试将ReportDocument.Close()添加到代码中,现在挂起了。

这是我可以创建的最简单的示例,可以重现该问题。

设置:

  • 带有.NET 4.7.2的C#
  • WinForms
  • 水晶报告CRforVS_13_0_23.exe
  • CrystalReport1-使用DDF(仅数据定义)报表在Visual Studio中创建的新报表
  • frmPreview是一个新表单,上面只有CrystalReportViewer控件。所有设置均为默认设置。

代码:

public partial class frmPreview : Form
{

    ReportDocument rd;

    public frmPreview(DataTable data)
    {
        InitializeComponent();
        rd = new CrystalReport1();

        rd.SetDataSource(data);

        crystalReportViewer1.ReportSource = rd;
    }

    private void frmPreview_FormClosing(object sender, FormClosingEventArgs e)
    {
        // crystalReportViewer1.ReportSource = null;
        rd.Close();
        rd.Dispose();
    }
}

我非常担心,因为我们还将手动打印报告并在没有查看器的情况下导出报告。我们需要能够正确释放资源。

0 个答案:

没有答案