public static List<string> CreatePdfPerAccount(XtraReportDefaultTemplate xreport, ReportDataSet dSet, string pReportsPath) { List<string> _PdfFiles = new List<string>(); foreach (DataRow row in dSet.account.Rows) { if (row.RowState == DataRowState.Deleted) continue; var dSetClone = (ReportDataSet)dSet.Copy(); var dset = dSetClone.account.Select(String.Format("NOT(account_id={0})", row["account_id"])); foreach (var rowD in dset) rowD.Delete(); dSetClone.AcceptChanges(); string fileName = String.Format(@"{0}\{1}_{2}_{3}.pdf", pReportsPath, row["company_name"].ToString().Replace(" ", "_").Replace(":", "_").Replace("/", "").Replace(@"\", ""), DateTime.Now.ToString("yyyy-MM-dd"), Guid.NewGuid().ToString() ); var report = xreport.CloneReport() as XtraReportDefaultTemplate; report.ReportHeader.Controls.Clear(); PdfExportOptions pdfOptions = report.ExportOptions.Pdf; pdfOptions.Compressed = true; pdfOptions.ImageQuality = PdfJpegImageQuality.Low; report.DataSource = dSetClone; report.ExportToPdf(fileName); _PdfFiles.Add(fileName); } return _PdfFiles; }
public static string SavePDF(XtraReportDefaultTemplate xreport, ReportDataSet dSet, string pReportsPath, bool pIsWebPortalCall = false) { // Set PDF-specific export options. //string reportPath = Directory.GetCurrentDirectory(); //string reportPath = ConfigurationManager.AppSettings["PdfReportsPath"].ToString(); // for debugging purposes only //if (pIsWebPortalCall) //string reportPath = ConfigManager.AppSettings["PdfReportsPath"].ToString(); if (!pIsWebPortalCall) { if (!Directory.Exists(@"C:\BrightVision")) Directory.CreateDirectory(@"C:\BrightVision"); if (!Directory.Exists(@"C:\BrightVision\PdfReports")) Directory.CreateDirectory(@"C:\BrightVision\PdfReports"); } string fileName = ""; ReportDataSet dSetClone = new ReportDataSet(); foreach (DataRow row in dSet.account.Rows) { if (row.RowState == DataRowState.Deleted) continue; dSetClone = (ReportDataSet)dSet.Copy(); var dset = dSetClone.account.Select(String.Format("NOT(account_id={0})", row["account_id"])); foreach (var rowD in dset) rowD.Delete(); dSetClone.AcceptChanges(); fileName = String.Format(@"{0}\{1}_{2}_{3}.pdf", pReportsPath, row["company_name"].ToString().Replace(" ", "_").Replace(":", "_").Replace("/", "").Replace(@"\", ""), DateTime.Now.ToString("yyyy-MM-dd"), Guid.NewGuid().ToString() ); } var report = xreport.CloneReport() as XtraReportDefaultTemplate; report.ReportHeader.Controls.Clear(); PdfExportOptions pdfOptions = report.ExportOptions.Pdf; pdfOptions.Compressed = true; pdfOptions.ImageQuality = PdfJpegImageQuality.Low; report.DataSource = dSetClone; report.ExportToPdf(fileName); return fileName; }
public static void SavePDFPerAccount(XtraReportDefaultTemplate xreport, ReportDataSet dSet) { FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog(); string reportPath = string.Empty; if (folderBrowserDialog.ShowDialog() == DialogResult.OK) { foreach (DataRow row in dSet.account.Rows) { if (row.RowState == DataRowState.Deleted) continue; var dSetClone = (ReportDataSet)dSet.Copy(); var dset = dSetClone.account.Select(String.Format("NOT(account_id={0})", row["account_id"])); foreach (var rowD in dset) rowD.Delete(); dSetClone.AcceptChanges(); reportPath = folderBrowserDialog.SelectedPath; string fileName = String.Format(@"{0}\{1}_{2}_{3}.pdf", reportPath, row["company_name"].ToString().Replace(" ", "_").Replace(":", "_").Replace("/", "").Replace(@"\", ""), DateTime.Now.ToString("yyyy-MM-dd"), Guid.NewGuid().ToString() ); //string fileName = String.Format("{0}\\{1}_{2}.pdf", reportPath, row["company_name"].ToString().Replace(" ", "_").Replace(":", "_"), DateTime.Now.ToString("yyyy-MM-dd_HH_mm_ss")); var report = xreport.CloneReport() as XtraReportDefaultTemplate; report.ReportHeader.Controls.Clear(); PdfExportOptions pdfOptions = report.ExportOptions.Pdf; pdfOptions.Compressed = true; pdfOptions.ImageQuality = PdfJpegImageQuality.Low; report.DataSource = dSetClone; report.ExportToPdf(fileName); } DialogResult _dlg = MessageBox.Show( string.Format("Successfully generated reports.{0}Would you like to open the folder where the reports are saved?", Environment.NewLine), "Brightvision Reports", MessageBoxButtons.YesNo, MessageBoxIcon.Question ); if (_dlg == DialogResult.Yes) System.Diagnostics.Process.Start(folderBrowserDialog.SelectedPath); } }