Quantcast
Channel: SCN : Discussion List - SAP Crystal Reports, version for Visual Studio
Viewing all articles
Browse latest Browse all 3636

ReportDocument.Refresh() causes "Missing values parameters" exception

$
0
0

Hello Everyone,

I hit a wall while trying to output a crystal report in PDF format. After the report is loaded, I want to use the refresh method of the ReportDocument object so that the report can show the most update data then export it in PDF. But what  I had been experiencing is that whenever I used the Refresh method the code always throws an exception in the line where the report needs to be exported in PDF format. When I don't use the Refresh method, the code doesn't break in the line where it has to export the document in PDF. I would like to know what alternative there could be. Because the code does what it was intended, which is connect to a database, run a stored procedure and then output the Crystal in PDF. It is just that the data shown is not up to date.

 

Any help would be truly appreciated.

 

Here the code:

ArrayList ParameterArrayList = new ArrayList(); //Report parameter list. Needs to be declared even if no parameters is being passed to the report

            CrystalReportBase objReportBase = new CrystalReportBase(); //this is custom class that loads a crystal report, connect to a datasource, pass parameters to a report, and return a a return ReportDocument object

 

           ReportDocument objReportDocument = new ReportDocument(); //Report document

            try

            {

 

 

                string filterExtension = "*.rpt";

                string substringInFileName = "M1_2_PhoneAnswerPerformance";

 

                /*The report with two parameters. */

                ParameterArrayList.Add(0);

                ParameterArrayList.Add("No"); //Parameter 1 with input 1.

                //ParameterArrayList.Add(1);

                //ParameterArrayList.Add("1"); //Parameter 2 with input 1.

 

 

                //retrieve connection information from the web2 connection string

                objReportBase.ServerName = serverConnectionInfo.DataSource;

                objReportBase.UserID = serverConnectionInfo.UserID;

                objReportBase.Password = serverConnectionInfo.Password;

 

 

                List<ReportFile> reportFiles = Utilities.GetFilesFromDirectory(@crystalPhoneReportPerformancePath, filterExtension, substringInFileName).ToList();

                foreach (ReportFile reportFile in reportFiles)

                {

                    objReportDocument = objReportBase.GenerateReport(reportFile.FileName, ParameterArrayList, crystalPhoneReportPerformancePath);

                    objReportDocument.Refresh(); Using this line causes....

                    //Save output report

                    objReportDocument.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, string.Format("{0}{1}{2}", @crystalPhoneReportOutputMemberServicesPath, Path.GetFileNameWithoutExtension(reportFile.FileName), ".pdf")); ...the code to break in this line

 

 

                    //Export this file in Excel format as well

                    if (reportFile.FileName.Contains("CLHS_M1_2_PhoneAnswerPerformanceGraphs_Combined"))

                    {

                        objReportDocument.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.ExcelWorkbook, string.Format("{0}{1}{2}", @crystalPhoneReportOutputMemberServicesPath, Path.GetFileNameWithoutExtension(reportFile.FileName), ".xls"));

                    }

                }

 

 

                //release those resources

                objReportDocument.Dispose();

                objReportDocument.Close();

                objReportDocument = null;

      catch{


Viewing all articles
Browse latest Browse all 3636

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>