我希望我的水晶报告,如果项目被移动到另一个文件夹,在不更改代码的情况下继续工作。现在我的WinForm
中的代码ReportDocument cryRpt = new ReportDocument();
string reportPath = Path.Combine(Environment.CurrentDirectory, "CrystalReport1.rpt");
cryRpt.Load(reportPath);
crystalReportViewer1.ReportSource = cryRpt;
crystalReportViewer1.Refresh();
表示:操作不受支持。无法打开由JRC引擎堆栈C ++编写的文档
答案 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();