水晶报表打印错误提示ReportDocument缺少参数
解决:水晶报表打印错误提示ReportDocument缺少参数
异常描述:CrystalDecisions.ReportAppServer.DataSetConversion缺少参数值。
ReportDocument Rpt = new ReportDocument();
//报异常语句
Rpt.PrintToPrinter(1, true, 1, 100);//指明要打印的分数,指明是否逐份打印,指明要打印的第一页,指明要打印的最后一页
原因是报表未渲染完;
调试代码即可发现
Rpt.HasSavedData = false;
解决办法:
用for循环30秒
注意不能使用 Thread.Sleep(30000);//停30秒
原因是,Thread.Sleep(30000);表示线程挂起30秒,程序并不会继续跑。
if (!Rpt.HasSavedData) { //开始时间;循环60秒 DateTime S = DateTime.Now; //结束时间 DateTime E = DateTime.Now.AddSeconds(60);//当前系统时间+60秒 while (E > S) { S = DateTime.Now; if (Rpt.HasSavedData) { break; } } } if (!Rpt.HasSavedData) { //写日志 NestleHelper.AddErrorLog("异常描述:报表加载失败"); return; }