路径水晶报告c#

时间:2014-04-27 11:04:02

标签: c# crystal-reports

我希望我的水晶报告,如果项目被移动到另一个文件夹,在不更改代码的情况下继续工作。现在我的WinForm

中的代码
ReportDocument cryRpt = new ReportDocument();
        string reportPath = Path.Combine(Environment.CurrentDirectory, "CrystalReport1.rpt");
        cryRpt.Load(reportPath);
        crystalReportViewer1.ReportSource = cryRpt;
        crystalReportViewer1.Refresh();

Error

表示:操作不受支持。无法打开由JRC引擎堆栈C ++编写的文档

1 个答案:

答案 0 :(得分:0)

你确定rpt文件存在吗?

看起来错误是指其他问题,而不是文件位置。

试试这个,以便测试文件位置是否有问题:

ReportDocument cryRpt = new ReportDocument();

        string rpt = "CrystalReport1.rpt";
        string reportFolder = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);

        string reportPath = Path.Combine(reportFolder, rpt);

        if(!File.Exists(reportPath))
        {
             MessageBox.Show("File " + rpt + " not found in " + reportFolder );
             return;
        }
        cryRpt.Load(reportPath);
        crystalReportViewer1.ReportSource = cryRpt;
        crystalReportViewer1.Refresh();