views:

300

answers:

1

Hi folks,

I have integrated the below code in my application to generate a 'pdf' file using crystal reports in MVC project. However, after the request is processed, i get to see only 2 pages in the pdf file while my 'data' returns more than 2 records. Also, the pdf isn't rendered as soon as the page is processed but instead i have to refresh atleast once, then the pdf is rendered on the browser.

using CrystalDecisions.CrystalReports.Engine;

public FileStreamResult Report()
{
    ReportClass rptH = new ReportClass();
    List<sampledataset> data = objdb.getdataset();
    rptH.FileName = Server.MapPath("[reportName].rpt");
    rptH.Load();
    rptH.SetDatabaseLogon("un", "pwd", "server", "db");
    rptH.SetDataSource(data);
    Stream stream = rptH.ExportToStream
       (CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
    stream.Seek(0, System.IO.SeekOrigin.Begin);
    return new FileStreamResult(stream, "application/pdf");   
}

I took the code from here in SO but modified it like above.

TIA.

EDIT: This works on Firefox, not in IE7.

A: 

I finally found the solution here on SO. It had nothing to do with MVC but the way IE treats popup window.

SoftwareGeek