#Solution:1
in post back just set report loading event as follows 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
it will look like this:
Build and run the application you will get you report as pdf for download.
Enjoy...
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...
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.
ReplyDeleteThank you.
ReplyDeletethank u
ReplyDelete