From 31ce53c45a9d045d0d28d5bbf4a1108e2bf173f2 Mon Sep 17 00:00:00 2001 From: peterforstmeier Date: Fri, 10 Jun 2011 20:58:40 +0200 Subject: [PATCH] ReportViewer.cs use ExportRunner.cs --- .../ICSharpCode.Reports.Core.csproj | 2 +- .../Exporter/ExportRenderer/ExportRunner.cs | 10 ++++- .../{IExpoerRunner.cs => IExportRunner.cs} | 2 +- .../Project/ReportEngine.cs | 42 +++++++++--------- .../Project/ReportViewer/ReportViewer.cs | 44 +++++-------------- 5 files changed, 43 insertions(+), 57 deletions(-) rename src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/{IExpoerRunner.cs => IExportRunner.cs} (93%) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj index 35bedf5259..ecd1fe0cb9 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj @@ -174,7 +174,7 @@ - + diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs index f951b13cc0..e4c6351c5c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs @@ -7,6 +7,7 @@ * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; +using System.Data; using ICSharpCode.Reports.Core.Exporter; using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.ReportViewer; @@ -19,6 +20,7 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer public class ExportRunner:IExportRunner { + public event EventHandler PageCreated; public ExportRunner() { @@ -35,6 +37,7 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer this.RunReport(model, parameters); } + public void RunReport(ReportModel reportModel, ReportParameters parameters) { if (reportModel == null) { @@ -51,7 +54,7 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer } } - public void RunReport(ReportModel reportModel, System.Data.DataTable dataTable, ReportParameters parameters) + public void RunReport(ReportModel reportModel, DataTable dataTable, ReportParameters parameters) { if (reportModel == null) { throw new ArgumentNullException("reportModel"); @@ -81,7 +84,6 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer } ReportEngine.CheckForParameters(reportModel, parameters); IDataManager dataManager = DataManagerFactory.CreateDataManager(reportModel, dataSource); - RunReport(reportModel, dataManager); } @@ -113,6 +115,10 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer private void OnPageCreated (object sender,PageCreatedEventArgs e) { Pages.Add(e.SinglePage); + if (PageCreated != null) { + + PageCreated (this,e); + } } } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/IExpoerRunner.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/IExportRunner.cs similarity index 93% rename from src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/IExpoerRunner.cs rename to src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/IExportRunner.cs index 8dce8de713..4c4e28badd 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/IExpoerRunner.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/IExportRunner.cs @@ -15,6 +15,6 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer void RunReport(ReportModel reportModel, IList dataSource, ReportParameters parameters); void RunReport(ReportModel reportModel, IDataManager dataManager); PagesCollection Pages { get; } -// IReportViewerMessages Messages { get; set; } + event EventHandler PageCreated; } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs index 0cfa0c733f..5225540145 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs @@ -330,16 +330,16 @@ namespace ICSharpCode.Reports.Core { /// a Datatable, containing the data [Obsolete("use public void PreviewPushDataReport (string fileName,DataTable dataTable,null)")] - public void PreviewPushDataReport (string fileName,DataTable dataTable) - { - if (String.IsNullOrEmpty(fileName)) { - throw new ArgumentNullException("fileName"); - } - if (dataTable == null) { - throw new ArgumentNullException("dataTable"); - } - this.PreviewPushDataReport(fileName,dataTable,null); - } +// public void PreviewPushDataReport (string fileName,DataTable dataTable) +// { +// if (String.IsNullOrEmpty(fileName)) { +// throw new ArgumentNullException("fileName"); +// } +// if (dataTable == null) { +// throw new ArgumentNullException("dataTable"); +// } +// this.PreviewPushDataReport(fileName,dataTable,null); +// } public void PreviewPushDataReport (string fileName,DataTable dataTable,ReportParameters reportParameters) @@ -365,16 +365,16 @@ namespace ICSharpCode.Reports.Core { [Obsolete ("use public void PreviewPushDataReport (string fileName,IList list,null)")] - public void PreviewPushDataReport (string fileName,IList list) - { - if (String.IsNullOrEmpty(fileName)) { - throw new ArgumentNullException("fileName"); - } - if (list == null) { - throw new ArgumentNullException("list"); - } - this.PreviewPushDataReport(fileName,list,null); - } +// public void PreviewPushDataReport (string fileName,IList list) +// { +// if (String.IsNullOrEmpty(fileName)) { +// throw new ArgumentNullException("fileName"); +// } +// if (list == null) { +// throw new ArgumentNullException("list"); +// } +// this.PreviewPushDataReport(fileName,list,null); +// } public void PreviewPushDataReport (string fileName,IList list,ReportParameters reportParameters) @@ -436,7 +436,7 @@ namespace ICSharpCode.Reports.Core { /// /// - public static IReportCreator CreatePageBuilder (IReportModel reportModel) + internal static IReportCreator CreatePageBuilder (IReportModel reportModel) { if (reportModel == null) { throw new ArgumentNullException("reportModel"); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs index 19629412dd..4e8f8e80f0 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs @@ -10,18 +10,16 @@ using System.Drawing.Text; using System.Globalization; using System.Windows.Forms; -using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Exporter; using ICSharpCode.Reports.Core.Exporter.ExportRenderer; using ICSharpCode.Reports.Core.Globals; -using ICSharpCode.Reports.Core.Interfaces; namespace ICSharpCode.Reports.Core.ReportViewer { /// /// Description of UserControl1. /// - public partial class PreviewControl : IExportRunner + public partial class PreviewControl { public event EventHandler PreviewLayoutChanged; @@ -36,7 +34,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer private delegate void invokeDelegate(); private ReportSettings reportSettings; - private IDataManager dataManager; #region Constructor @@ -90,14 +87,13 @@ namespace ICSharpCode.Reports.Core.ReportViewer throw new ArgumentNullException("reportModel"); } this.SetupViewer(reportModel); - if (reportModel.DataModel == GlobalEnums.PushPullModel.FormSheet) { RunFormSheet(reportModel); } else { - ReportEngine.CheckForParameters(reportModel, parameters); - this.dataManager = DataManagerFactory.CreateDataManager(reportModel, parameters); - RunDataReport(reportModel, dataManager); + var dataManager = DataManagerFactory.CreateDataManager(reportModel, parameters); + RunReport(reportModel,dataManager); } + } @@ -109,7 +105,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer if (dataTable == null) { throw new ArgumentNullException("dataTable"); } - ReportEngine.CheckForParameters(reportModel, parameters); +// ReportEngine.CheckForParameters(reportModel, parameters); IDataManager dataManager = DataManagerFactory.CreateDataManager(reportModel, dataTable); RunReport(reportModel, dataManager); @@ -124,9 +120,8 @@ namespace ICSharpCode.Reports.Core.ReportViewer if (dataSource == null) { throw new ArgumentNullException("dataSource"); } - ReportEngine.CheckForParameters(reportModel, parameters); - IDataManager dataManager = DataManagerFactory.CreateDataManager(reportModel, dataSource); - +// ReportEngine.CheckForParameters(reportModel, parameters); + var dataManager = DataManagerFactory.CreateDataManager(reportModel, dataSource); RunReport(reportModel, dataManager); } @@ -139,9 +134,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer if (dataManager == null) { throw new ArgumentNullException("dataManager"); } - this.SetupViewer(reportModel); - this.dataManager = dataManager; RunDataReport(reportModel, dataManager); } @@ -150,24 +143,17 @@ namespace ICSharpCode.Reports.Core.ReportViewer private void RunFormSheet(ReportModel reportModel) { - IReportCreator reportCreator = FormPageBuilder.CreateInstance(reportModel); - reportCreator.SectionRendering += new EventHandler(PushPrinting); - reportCreator.PageCreated += OnPageCreated; - reportCreator.BuildExportList(); + runner.PageCreated += OnPageCreated; + runner.RunReport(reportModel,(ReportParameters)null); ShowCompleted(); } private void RunDataReport(ReportModel reportModel, IDataManager data) { - IReportCreator reportCreator = DataPageBuilder.CreateInstance(reportModel, data); - reportCreator.SectionRendering += new EventHandler(PushPrinting); - reportCreator.GroupHeaderRendering += new EventHandler(GroupHeaderRendering); - reportCreator.GroupFooterRendering += GroupFooterRendering; - - reportCreator.RowRendering += new EventHandler(RowRendering); - reportCreator.PageCreated += OnPageCreated; - reportCreator.BuildExportList(); + runner.PageCreated += OnPageCreated; + runner.RunReport(reportModel,data); + runner.PageCreated -= OnPageCreated; ShowCompleted(); } @@ -176,7 +162,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer #region Events from worker - private void OnPageCreated(object sender, PageCreatedEventArgs e) { this.Pages.Add(e.SinglePage); @@ -272,9 +257,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer updateControl = ShowCompleted; Invoke(updateControl); } - if (this.dataManager != null) { - this.dataManager.GetNavigator.Reset(); - } this.SetPages(); this.CheckEnable(); this.printButton.Enabled = true; @@ -335,7 +317,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer this.comboZoom.ToolTipText = this.reportViewerMessages.ZoomMessage; this.createPdfMenu.Text = this.reportViewerMessages.PdfFileMessage; this.pdfButton.ToolTipText = this.reportViewerMessages.PdfFileMessage; -// this.pagesCreatedMessage = this.reportViewerMessages.PagesCreatedMessage; } } @@ -576,6 +557,5 @@ namespace ICSharpCode.Reports.Core.ReportViewer Localize(); } } - } }