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

mvvm double click event in listview

If you want to get the double click event on a listview item you can try with this code; <ListView Grid.Row="0" Grid.RowSpan="3" Grid.Column="0" Width="250" Height="200" HorizontalAlignment="Stretch" VerticalAlignment="Top" AlternationCount="2" BorderBrush="#FFA8CC7B" ItemContainerStyle="{StaticResource alternatingStyle}" ItemsSource="{Binding FromPayerNameList}" SelectedItem="{Binding SelectedFromPayer, Mode=TwoWay}"> <ListView.ItemTemplate> <DataTemplate> <TextBlock Width="{Binding Path=ActualWidth, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" Text=...

WPF datagrid cell textbox change event

Entity/Class: public class FeesDetails : INotifyPropertyChanged { public int Id { get; set; } public string FeesName { get; set;} public string FeesDetailsName { get; set; } public int? PaidAmount { get; set; } public event PropertyChangedEventHandler PropertyChanged; private void NotifyPropertyChanged(System.String info) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(info)); } } public int feesAmount { get; set; } public int FeesAmount { get { return this.feesAmount; } set { if (value != this.feesAmount) { this.feesAmount = value; NotifyPropertyChanged("FeesAmount"); } } } } XAML: <DataGrid AutoGenerateColumns="False" Height="21...

The calling thread must be STA, because many UI components require this.

Using Thread: // Create a thread Thread newWindowThread = new Thread(new ThreadStart(() => { // You can use your code // Create and show the Window FaxImageLoad obj = new FaxImageLoad(destination); obj.Show(); // Start the Dispatcher Processing System.Windows.Threading.Dispatcher.Run(); })); // Set the apartment state newWindowThread.SetApartmentState(ApartmentState.STA); // Make the thread a background thread newWindowThread.IsBackground = true; // Start the thread newWindowThread.Start(); Using Task and Thread: // Creating Task Pool, Each task will work asyn and as an indivisual thread component Task[] tasks = new Task[3]; // Control drug data disc UI load optimize tasks[0] = Task.Run(() => { //This will handle the ui thread :The calling thread must be STA, because many U...