private void btnSearch_Click(object sender, EventArgs e) { int recodeperpage = 20; Warning[] warnings; string[] streamids; string mimeType; string encoding; string filenameExtension; //ถ้าไม่มี Folder ไว้เก็บข้อมูลที่ desktop จะสร้าง Folder นั้นขึ้นมาก่อน string FilePathDesktopForOutputData = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "//" + mtxtYearin.Text.Trim().Replace('/', '.'); if (!Directory.Exists(FilePathDesktopForOutputData)) { Directory.CreateDirectory(FilePathDesktopForOutputData); } try { Reports.ReportDisplay f = new Reports.ReportDisplay(); DataTable dataSource = dcore.GetReportListAddressmore(mtxtYearin.Text.Trim(), DataControls.GetSelectedValueComboBoxToString(cmbselectaddress)); List <ReportParameter> reportParam = new List <ReportParameter>(); //reportParam.Add(new ReportParameter("unit_name", "test")); reportViewer1.Reset(); if (dataSource.Rows.Count > 0) { while ((dataSource.Rows.Count % recodeperpage) > 20 || (dataSource.Rows.Count % recodeperpage) == 0) { recodeperpage--; } string str = string.Empty; //Setup Report Value string[] str1 = dpdateR.Text.Split(' '); // ============== Export Image Checked ============= if (chkimage.Checked) { try { //Create Folder for image output string FilePath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "//" + mtxtYearin.Text.Trim().Replace('/', '.') + "//" + DataControls.GetSelectedTextComboBoxToString(cmbselectaddress); if (!Directory.Exists(FilePath)) { Directory.CreateDirectory(FilePath); } else { System.IO.Directory.Delete(FilePath, true); System.IO.Directory.CreateDirectory(FilePath); } //Copy Image file in to folder foreach (DataRow dr in dataSource.Rows) { //string path = @"\\192.168.0.1\NavyImages\" + dr["YEARIN"].ToString().Replace('/', '.') + @"\" + dr["NAVYID"].ToString() + ".jpg"; //if (File.Exists(path)) //{ // // System.IO.File.Copy(@"\\192.168.0.1\NavyImages\" + dr["YEARIN"].ToString().Replace('/', '.') + @"\" + dr["NAVYID"].ToString() + ".jpg" // , Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"//" + dr["unitname"].ToString() + @"//" + dr["NAME"].ToString() + " " + dr["SNAME"].ToString() + " " + dr["NAVYID"].ToString() + ".jpg", true); // } string path = @"\\192.168.0.1\NavyImages\" + dr["YEARIN"].ToString().Replace('/', '.') + @"\" + dr["NAVYID"].ToString() + ".jpg"; if (File.Exists(path)) { { System.IO.File.Copy(@"\\192.168.0.1\NavyImages\" + dr["YEARIN"].ToString().Replace('/', '.') + @"\" + dr["NAVYID"].ToString() + ".jpg" , Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "//" + mtxtYearin.Text.Trim().Replace('/', '.') + "//" + dr["unitname"].ToString() + @"//" + dr["NAME"].ToString() + " " + dr["SNAME"].ToString() + " " + dr["NAVYID"].ToString() + ".jpg", true); } } } } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } } // ============== Export Report PDF Checked ============= if (chk.Checked) { // string str11 = dpdateR.Text.Replace("มีนาคม","มี.ค."); if (checkBox1.Checked) { reportViewer1.LocalReport.ReportEmbeddedResource = "Navy.Reports.Report2.rdlc"; reportParam.Add(new ReportParameter("Title", string.Format("บัญชีรายชื่อทหารกองประจำการจัดแบ่งให้หน่วย {0}", DataControls.GetSelectedTextComboBoxToString(cmbselectaddress)))); reportParam.Add(new ReportParameter("date", string.Format("วันที่ส่งมอบ {0} {1} {2}", str1[0], ConvertM(str1[1]), (Convert.ToInt32(str1[2])) - 2500).ToString())); reportParam.Add(new ReportParameter("TitleNotation", "หมายเหตุ")); reportParam.Add(new ReportParameter("notationaddict", "ผลการคัดกรองสารเสพติด " + "กลุ่ม 1 = ผู้ไม่เคยใช้สารเสพติด " + "กลุ่ม 2 = กลุ่มเสี่ยง(เคยทดลอง) " + "กลุ่ม 3 = กลุ่มผู้เสพ " + "กลุ่ม 4 = กลุ่มผู้ติด")); reportParam.Add(new ReportParameter("text", txttext.Text.Trim())); reportParam.Add(new ReportParameter("rank", txtrank.Text.Trim())); reportParam.Add(new ReportParameter("name", txtname.Text.Trim())); reportParam.Add(new ReportParameter("position", txtposition.Text.Trim())); reportParam.Add(new ReportParameter("day", dpday.Text.Trim())); reportParam.Add(new ReportParameter("recodeperpage", recodeperpage.ToString())); this.reportViewer1.LocalReport.SetParameters(reportParam); } else { reportViewer1.LocalReport.ReportEmbeddedResource = "Navy.Reports.Report2None.rdlc"; reportParam.Add(new ReportParameter("Title", string.Format("บัญชีรายชื่อทหารกองประจำการจัดแบ่งให้หน่วย {0}", DataControls.GetSelectedTextComboBoxToString(cmbselectaddress)))); reportParam.Add(new ReportParameter("date", string.Format("วันที่ส่งมอบ {0} {1} {2}", str1[0], ConvertM(str1[1]), (Convert.ToInt32(str1[2])) - 2500).ToString())); reportParam.Add(new ReportParameter("TitleNotation", "หมายเหตุ")); reportParam.Add(new ReportParameter("notationaddict", "ผลการคัดกรองสารเสพติด " + "กลุ่ม 1 = ผู้ไม่เคยใช้สารเสพติด " + "กลุ่ม 2 = กลุ่มเสี่ยง(เคยทดลอง) " + "กลุ่ม 3 = กลุ่มผู้เสพ " + "กลุ่ม 4 = กลุ่มผู้ติด")); reportParam.Add(new ReportParameter("recodeperpage", recodeperpage.ToString())); this.reportViewer1.LocalReport.SetParameters(reportParam); } reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", dataSource)); byte[] bytes = reportViewer1.LocalReport.Render( "PDF", null, out mimeType, out encoding, out filenameExtension, out streamids, out warnings); try { using (FileStream fs = new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "//" + mtxtYearin.Text.Trim().Replace('/', '.') + "//" + DataControls.GetSelectedTextComboBoxToString(cmbselectaddress) + ".pdf", FileMode.Create)) { fs.Write(bytes, 0, bytes.Length); } } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } } // reportViewer1.LocalReport.Refresh(); // reportViewer1.RefreshReport(); // ============== Export Excel Checked ============= if (chkexport.Checked) { Reports.ReportDisplay f1 = new Reports.ReportDisplay(); DataTable dataSource1 = dcore.GetReportExportToExcel(mtxtYearin.Text.Trim(), DataControls.GetSelectedValueComboBoxToString(cmbselectaddress)); List <ReportParameter> reportParam1 = new List <ReportParameter>(); //reportParam.Add(new ReportParameter("unit_name", "test")); reportViewer1.Reset(); reportViewer1.LocalReport.ReportEmbeddedResource = "Navy.Reports.ExportToExcel.rdlc"; reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", dataSource1)); Warning[] warningsE; string[] streamidsE; string mimeTypeE; string encodingE; string extensionE; byte[] bytesE = reportViewer1.LocalReport.Render( "Excel", null, out mimeTypeE, out encodingE, out extensionE, out streamidsE, out warningsE); try { using (FileStream fs = new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "//" + mtxtYearin.Text.Trim().Replace('/', '.') + "//" + DataControls.GetSelectedTextComboBoxToString(cmbselectaddress) + ".xls", FileMode.Create)) { fs.Write(bytesE, 0, bytesE.Length); } } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } //Reports.ReportDisplay f1 = new Reports.ReportDisplay(); //DataTable dataSource1 = dcore.GetReportExportToExcel(mtxtYearin.Text.Trim(), DataControls.GetSelectedValueComboBoxToString(cmbselectaddress)); //List<ReportParameter> reportParam1 = new List<ReportParameter>(); ////reportParam.Add(new ReportParameter("unit_name", "test")); //reportViewer1.Reset(); //reportViewer1.LocalReport.ReportEmbeddedResource = "Navy.Reports.ExportToExcel.rdlc"; //reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", dataSource1)); //Warning[] warningsE; //string[] streamidsE; //string mimeTypeE; //string encodingE; //string extensionE; //byte[] bytesE = reportViewer1.LocalReport.Render( // "Excel", null, out mimeTypeE, out encodingE, // out extensionE, // out streamidsE, out warningsE); //try //{ // using (FileStream fs = new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "//" + DataControls.GetSelectedTextComboBoxToString(cmbselectaddress) + ".xls", FileMode.Create)) // { // fs.Write(bytesE, 0, bytesE.Length); // } // MessageBox.Show("สร้าง Excel สำเร็จ"); // } //catch (Exception ex) //{ // MessageBox.Show(ex.Message.ToString()); //} } } } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } MessageBox.Show("ออกรายงานสำเร็จ"); }