水晶报表打印错误提示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;
                }

  

 

posted on 2016-11-08 16:26  集体  阅读(1253)  评论(0编辑  收藏  举报

导航