void LocalReport_SubreportProcessing(object sender, SubreportProcessingEventArgs e) { LocalReport localReport = new LocalReport(); DataRow dr; InventoryDs ds = new InventoryDs(); var companyDetail = NewCompanyDetailBs.GetCompanyDetail(); dr = ds.Tables["CompanyDetiailDT"].Rows.Add(); dr["CompanyCode"] = companyDetail.CompanyCode; dr["CompanyName"] = companyDetail.CompanyName; dr["CompanyAddress"] = companyDetail.CompanyAddress; dr["CompanyPhone1"] = companyDetail.CompanyPhone1; dr["CompanyPhone2"] = companyDetail.CompanyPhone2; dr["CompanyEmail"] = companyDetail.CompanyEmail; //reportDtSource.Name = "CompDetDataSet"; //reportDtSource.Value = ds.Tables["CompanyDetiailDT"]; e.DataSources.Add(new ReportDataSource() { Name = "CompDetDataSet", Value = ds.Tables["CompanyDetiailDT"] }); }
public FileResult ExportSalesReport(string ReportType = "Pdf") { LocalReport localReport = new LocalReport(); localReport.SubreportProcessing += new SubreportProcessingEventHandler(LocalReport_SubreportProcessing); //localReport.ReportPath = Server.MapPath("~/Reports/SalesReport.rdlc"); localReport.ReportPath = Server.MapPath("~/Reports/SalesReport.rdlc"); ReportDataSource reportDtSource = new ReportDataSource(); DataRow dr; InventoryDs ds = new InventoryDs(); foreach (var sale in NewReportBs.SalesReport(Convert.ToDateTime(Session["StartDate"]), Convert.ToDateTime(Session["EndDate"]))) { dr = ds.Tables["SalesReportDT"].Rows.Add(); dr["SalesAmount"] = sale.SalesAmount; dr["PaymentDate"] = sale.KeyDate; dr["PaymentNo"] = sale.PaymentNo; dr["StartDate"] = Session["StartDate"]; dr["EndDate"] = Session["EndDate"]; } reportDtSource.Name = "SalesReportDataSet"; reportDtSource.Value = ds.Tables["SalesReportDT"]; localReport.DataSources.Add(reportDtSource); string reportType = ReportType; string mimeType; string encoding; string fileNameExtension = (ReportType == "Excel") ? "xlsx" : "pdf"; Warning[] warnings; string[] streams; byte[] renderedBytes; renderedBytes = localReport.Render(reportType, "", out mimeType, out encoding, out fileNameExtension, out streams, out warnings); Response.AddHeader("content-disposition", "attachment; filename=SalesReport " + DateTime.Now + "." + fileNameExtension); return(File(renderedBytes, fileNameExtension)); }