Skip to main content

Failed to export using the options you specified. Please check your options and try again.

#Solution:1
 in post back just set report loading event as follows btnViewReport_Click(null, null);



  protected void Page_Load(object sender, EventArgs e)  
     {  
       if (!IsPostBack == true)  
       {  
         LoadFactoryName();  
       }  
       else  
       {  
         // Your report viewing button event name  
         btnViewReport_Click(null, null);  
       }  
     }  



#Solution:2
You are trying to export the crystal report in PDF or other format.  But it is not working in  VS2010 asp.net SAP crystal report. my this article is not solve the exception but you may can take a alternative way for the solution. you can export the the crystal report in pdf when the report load.

Consider the method it will just load the crystal report

  private void LoadDateRangeWiseAllItemDetails()  
     {  
       _secondarySales = new SecondarySales();  
       _secondarySaleses = new List<SecondarySales>();  
       _secondarySales.FromDate = Convert.ToDateTime(String.Format("{0}", Request.Form["startDate"]));  
       _secondarySales.ToDate = Convert.ToDateTime(String.Format("{0}", Request.Form["endDate"]));  
       _secondarySaleses = _secondarySalesObj.LoadDateRangeWiseAllItemDetails(_secondarySales);  
       ReportDocument details = new ReportDocument();  
       details.Load(Server.MapPath("../Report/secondarySalesItemDetailsCrystalReport.rpt"));  
       details.SetDataSource(_secondarySaleses);  
       secondarySalesCrystalReportViewer.ReportSource = details;  
     }  

it will look like this:



if i want to load the report in PDF....then..?? then we can take a  another button name Download Pdf . click on this button it will load a pdf file to download. In this button event method we will use the previous method code + add the code for pdf.then the crystal report to PDF method will be look like :


  private void LoadDateRangeWiseAllItemDetails()  
     {  
       _secondarySales = new SecondarySales();  
       _secondarySaleses = new List<SecondarySales>();  
       _secondarySales.FromDate = Convert.ToDateTime(String.Format("{0}", Request.Form["startDate"]));  
       _secondarySales.ToDate = Convert.ToDateTime(String.Format("{0}", Request.Form["endDate"]));  
       _secondarySaleses = _secondarySalesObj.LoadDateRangeWiseAllItemDetails(_secondarySales);  
       ReportDocument details = new ReportDocument();  
       details.Load(Server.MapPath("../Report/secondarySalesItemDetailsCrystalReport.rpt"));  
       details.SetDataSource(_secondarySaleses);  
       secondarySalesCrystalReportViewer.ReportSource = details;  
       // for pdf  
       BinaryReader stream = new BinaryReader(details.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat));  
       Response.ClearContent();  
       Response.ClearHeaders();  
       Response.ContentType = "application/pdf";  
       Response.AddHeader("content-disposition", "attachment; filename=" + "pdfName");  
       Response.AddHeader("content-length", stream.BaseStream.Length.ToString());  
       Response.BinaryWrite(stream.ReadBytes(Convert.ToInt32(stream.BaseStream.Length)));  
       Response.Flush();  
       Response.Close();   
     }  

Build and run the application you will get you report as pdf for download.



Enjoy...

Comments

  1. Thank you very much. I spent days trying to resolve this problem and with your help I am able to move forward with my project.

    ReplyDelete

Post a Comment

Popular posts from this blog

C# run powershell script as administrator

Recently I was fetching a problem that I need to run a PowerShell script that will change TFS user Display name and SID. I was trying to run that script from C# that was not working due to TFS security update and TLS certificate. Using this code block I resolve the Issue. var newProcessInfo = new System.Diagnostics.ProcessStartInfo(); newProcessInfo.FileName = @"C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe"; newProcessInfo.Verb = "runas"; // Define Run as administrator newProcessInfo.Arguments = script; //Define your powershell script newProcessInfo.UseShellExecute = false; newProcessInfo.RedirectStandardOutput = true; // This will enable to read Powershell run output newProcessInfo.RedirectStandardError = true; Process proces = System.Diagnostics.Process.Start(newProcessInfo); proces.WaitForExit(); // I want to read the output string from powershell window StringBuilder output = new StringBuilder(); output.Append("Started"); while (!proces.St

ASP.NET MVC razor SAP Crystal report

Crete a new project: Add a aspx Master Page Create a new folder Reports and 2 sub folder crystal & crystalviewer Now add a web form page in crystalviewer  folder. Add the master page namespace in your web form page. MasterPageFile ="~/Views/Shared/ReportSite.Master" Replace your web form by this code < asp : Content ID ="Content1" ContentPlaceHolderID ="ContentPlaceHolder1" runat ="server">      </ asp : Content > Now go to design mode of your web form drag & drop the crystal report viewer in your web form. After that your page will be look look like this. Replace the code: < CR : CrystalReportViewer ID ="EmployeeList" runat ="server"   HasCrystalLogo ="False"     AutoDataBind ="True"   Height ="50px"   EnableParameterPrompt ="false" EnableDatabaseLogonPrompt

mvc razor textboxfor change event change another textboxfor value

Based on value of Weight, Rate , CNF & AWB it will change the value of Freight , TTLCNF anfd TTLFright . Freight= Weight*Rate; TTLCNF  = Weight*CNF; TTLFright=  Freight+ TTLCNF  + AWB; @Html.TextBoxFor(model => model.Weight, new { onChange="return GetWight(this);"}) @Html.TextBoxFor(model => model.Rate, new { onChange="return GetWight(this);"})/Kg @Html.TextBoxFor(model => model.Freight, new {disabled = "disabled" , @readonly = "readonly" ,onChange="return GetTTLFright(this);"}) @Html.TextBoxFor(model => model.CNFPK, new { onChange="return GetCNFPK(this);"}) @Html.TextBoxFor(model => model.TTLCNF, new {disabled = "disabled" , @readonly = "readonly",onChange="return GetTTLFright(this);" }) @Html.TextBoxFor(model => model.AWB, new { onChange="return GetTTLFright(this);"}) and script <script> function GetW