LinkButton lnkHistory = (LinkButton)sender;
int ID = Convert.ToInt32(lnkHistory.CommandArgument);
ReportDocument rp;
DataSet ds = new DataSet();
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
con.Open();
SqlDataAdapter myadp = new SqlDataAdapter("EmployeeTrainingHistory_Proc_Report", con);
myadp.SelectCommand.CommandType = CommandType.StoredProcedure;
myadp.SelectCommand.Parameters.AddWithValue("@ID", ID);
myadp.Fill(ds, "TempReport");
rp = new ReportDocument();
DataSet ds1 = new DataSet();
string rptPath = Server.MapPath(@"~\Reports\EmployeeTrainingHistory.rpt");
rp.Load(rptPath);
rp.SetDataSource(ds.Tables[0]);
rp.SetParameterValue("@ID", ID);
SqlDataAdapter adp = new SqlDataAdapter("EmployeeTrainingHistoryWillAttend_Report", con);
adp.SelectCommand.CommandType = CommandType.StoredProcedure;
adp.SelectCommand.Parameters.AddWithValue("@ID", ID);
adp.Fill(ds1, "TempReport");
rp.OpenSubreport("AttendedTrainingHistrory").SetDataSource(ds);
// rp.SetParameterValue("@ID", ID, "AttendedTrainingHistrory");
rp.OpenSubreport("WillingAttendTraining").SetDataSource(ds1);
rp.SetParameterValue("@ID", ID, "WillingAttendTraining");
string reportName = "EmployeeTrainingHistory.doc";
string _tempDir = "Reports\\";
string baseDir = AppDomain.CurrentDomain.BaseDirectory;
if (!Directory.Exists(baseDir + "\\" + _tempDir))
Directory.CreateDirectory(baseDir + "\\" + _tempDir);
reportName = baseDir + "\\" + _tempDir + "\\" + reportName;
ExportOptions exp = new ExportOptions();
DiskFileDestinationOptions dsk = new DiskFileDestinationOptions();
dsk.DiskFileName = reportName;
exp = rp.ExportOptions;
exp.DestinationOptions = dsk;
exp.ExportDestinationType = ExportDestinationType.DiskFile;
exp.ExportFormatType = ExportFormatType.WordForWindows;
rp.Export();
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "application/pdf";
string _tempReportName = System.IO.Path.GetFileName(reportName);
Response.AddHeader("content-disposition", "attachment;filename=" + _tempReportName);
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.WriteFile(reportName);
Response.WriteFile(reportName);
Response.Flush();
Response.Close();
System.IO.File.Delete(reportName);