private void CreatePDF(string id, string pid) { string issalaried = ""; DataSet DsRep = getemplyeebasicdetail(id, pid); DataSet dssalaryDetails = getemplyeesalarydetail(id, pid); DataSet dsEmployeeCount = GetEmplyoeeCount(id, pid); int rowcount = dssalaryDetails.Tables[0].Rows.Count; if (rowcount == 0) { DataRow dr = dssalaryDetails.Tables[0].NewRow(); dssalaryDetails.Tables[0].Rows.Add(dr); } else { Boolean salaried = false; foreach (DataRow dr in dssalaryDetails.Tables[0].Rows) { if (dr["issalaried"].ToString() == "Y") { salaried = true; } } if (salaried == false) { issalaried = "N"; } else { issalaried = "Y"; } } ReportDataSource datasource = new ReportDataSource("DS1", DsRep.Tables[0]); ReportDataSource datasourcefamily = new ReportDataSource("DS2", dssalaryDetails.Tables[0]); ReportDataSource datasourcecount = new ReportDataSource("DS3", dsEmployeeCount.Tables[0]); ReportParameter[] Param = new ReportParameter[1]; Param[0] = new ReportParameter("Param_IsSalaried", issalaried); Warning[] warnings; string[] streamIds; string mimeType = string.Empty; string encoding = string.Empty; string extension = string.Empty; // Setup the report viewer object and get the array of bytes ReportViewer viewer = new ReportViewer(); viewer.ProcessingMode = ProcessingMode.Local; viewer.LocalReport.ReportPath = Server.MapPath("~\\Employee.rdlc"); //Datasource viewer.LocalReport.DataSources.Add(datasource); viewer.LocalReport.SetParameters(Param); viewer.LocalReport.EnableExternalImages = true; byte[] bytes = viewer.LocalReport.Render("PDF", null, out mimeType, out encoding, out extension, out streamIds, out warnings); // Now that you have all the bytes representing the PDF report, buffer it and send it to the client. Response.Buffer = true; Response.Clear(); Response.ContentType = mimeType; Response.AddHeader("content-disposition", "attachment; filename=" + "Employee" + "." + extension); Response.BinaryWrite(bytes); // create the file Response.Flush(); // send it to the client to download //Page settings for PDF File. }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)