public void Reports(string query, CrystalReportViewer crystalReportViewer1, string tblname, string rptname)
{
con.Close();
try {
ReportDocument Report = new ReportDocument();
con.Open();
SqlDataAdapter da = new SqlDataAdapter(query, con);
DataSet ds = new DataSet();
//ds.Tables.Add("Customer_Transaction_Master");
da.Fill(ds, tblname);
// Report.Load(System.Windows.Forms.Application.StartupPath + "\\Reports" + rptname);
Report.Load(Application.StartupPath + "\\Reports" + rptname);
Report.SetDataSource(ds.Tables[tblname]);
Report.Refresh();
crystalReportViewer1.ReportSource = Report;
crystalReportViewer1.RefreshReport();
Report.PrintOptions.PaperOrientation = PaperOrientation.Portrait;
Report.PrintOptions.PaperSize = PaperSize.PaperA4;
Report.PrintToPrinter(1, false, 0, 15);
Report.Close();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
//throw ex;
}
finally
{
con.Close();
}
}
*********** ---------按钮点击-------- ******
try
{
frmdailyreport frdp = new frmdailyreport();
gd.Reports("select * from tbl_bill where date='" + dailydate.Text + "' ", frdp.dailycrystal, "tbl_bill", "//daily.rpt");
frdp.Show();
}
catch (Exception ex)
{
MessageBox.Show(ex.Source);
MessageBox.Show(ex.Message);
}
但仍然加载报告失败... 问题是,当我点击按钮时,它显示“加载报告失败错误”,点击“确定”后,它显示水晶报告查看器没有显示报告。
globe.cs是我的类文件,该类文件的对象是“gd”。
谢谢。
答案 0 :(得分:0)
加载报告错误意味着找不到报告,这意味着肯定路径错误,将报告的确切路径放在报告中,如果加载则报告Report.Load("C:\\Program Files\Reports\dailyReport.rpt");
意味着您使用Application.Startup提供了错误的路径,重新验证路径并将报告加载代码放在按钮单击中,仅用于测试和评论此问题是否已解决。