Browse Source

ReportViewer.cs use ExportRunner.cs

pull/15/head^2
peterforstmeier 14 years ago
parent
commit
31ce53c45a
  1. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj
  2. 10
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs
  3. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/IExportRunner.cs
  4. 42
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs
  5. 44
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj

@ -174,7 +174,7 @@
<Compile Include="Project\Exporter\ExportHelper.cs" /> <Compile Include="Project\Exporter\ExportHelper.cs" />
<Compile Include="Project\Exporter\ExportRenderer\ExportRunner.cs" /> <Compile Include="Project\Exporter\ExportRenderer\ExportRunner.cs" />
<Compile Include="Project\Exporter\ExportRenderer\FixedDocumentRenderer.cs" /> <Compile Include="Project\Exporter\ExportRenderer\FixedDocumentRenderer.cs" />
<Compile Include="Project\Exporter\ExportRenderer\IExpoerRunner.cs" /> <Compile Include="Project\Exporter\ExportRenderer\IExportRunner.cs" />
<Compile Include="Project\Expressions\EvaluationHelper.cs" /> <Compile Include="Project\Expressions\EvaluationHelper.cs" />
<Compile Include="Project\Expressions\SimpleExpressionEvaluator\Compilation\Functions\ReportingService\FieldReference.cs" /> <Compile Include="Project\Expressions\SimpleExpressionEvaluator\Compilation\Functions\ReportingService\FieldReference.cs" />
<Compile Include="Project\Exporter\BasePager.cs" /> <Compile Include="Project\Exporter\BasePager.cs" />

10
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. * To change this template use Tools | Options | Coding | Edit Standard Headers.
*/ */
using System; using System;
using System.Data;
using ICSharpCode.Reports.Core.Exporter; using ICSharpCode.Reports.Core.Exporter;
using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Globals;
using ICSharpCode.Reports.Core.ReportViewer; using ICSharpCode.Reports.Core.ReportViewer;
@ -19,6 +20,7 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer
public class ExportRunner:IExportRunner public class ExportRunner:IExportRunner
{ {
public event EventHandler<PageCreatedEventArgs> PageCreated;
public ExportRunner() public ExportRunner()
{ {
@ -35,6 +37,7 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer
this.RunReport(model, parameters); this.RunReport(model, parameters);
} }
public void RunReport(ReportModel reportModel, ReportParameters parameters) public void RunReport(ReportModel reportModel, ReportParameters parameters)
{ {
if (reportModel == null) { 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) { if (reportModel == null) {
throw new ArgumentNullException("reportModel"); throw new ArgumentNullException("reportModel");
@ -81,7 +84,6 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer
} }
ReportEngine.CheckForParameters(reportModel, parameters); ReportEngine.CheckForParameters(reportModel, parameters);
IDataManager dataManager = DataManagerFactory.CreateDataManager(reportModel, dataSource); IDataManager dataManager = DataManagerFactory.CreateDataManager(reportModel, dataSource);
RunReport(reportModel, dataManager); RunReport(reportModel, dataManager);
} }
@ -113,6 +115,10 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer
private void OnPageCreated (object sender,PageCreatedEventArgs e) private void OnPageCreated (object sender,PageCreatedEventArgs e)
{ {
Pages.Add(e.SinglePage); Pages.Add(e.SinglePage);
if (PageCreated != null) {
PageCreated (this,e);
}
} }
} }
} }

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/IExpoerRunner.cs → 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, IList dataSource, ReportParameters parameters);
void RunReport(ReportModel reportModel, IDataManager dataManager); void RunReport(ReportModel reportModel, IDataManager dataManager);
PagesCollection Pages { get; } PagesCollection Pages { get; }
// IReportViewerMessages Messages { get; set; } event EventHandler<PageCreatedEventArgs> PageCreated;
} }
} }

42
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs

@ -330,16 +330,16 @@ namespace ICSharpCode.Reports.Core {
/// <param name="dataTable">a Datatable, containing the data</param> /// <param name="dataTable">a Datatable, containing the data</param>
[Obsolete("use public void PreviewPushDataReport (string fileName,DataTable dataTable,null)")] [Obsolete("use public void PreviewPushDataReport (string fileName,DataTable dataTable,null)")]
public void PreviewPushDataReport (string fileName,DataTable dataTable) // public void PreviewPushDataReport (string fileName,DataTable dataTable)
{ // {
if (String.IsNullOrEmpty(fileName)) { // if (String.IsNullOrEmpty(fileName)) {
throw new ArgumentNullException("fileName"); // throw new ArgumentNullException("fileName");
} // }
if (dataTable == null) { // if (dataTable == null) {
throw new ArgumentNullException("dataTable"); // throw new ArgumentNullException("dataTable");
} // }
this.PreviewPushDataReport(fileName,dataTable,null); // this.PreviewPushDataReport(fileName,dataTable,null);
} // }
public void PreviewPushDataReport (string fileName,DataTable dataTable,ReportParameters reportParameters) 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)")] [Obsolete ("use public void PreviewPushDataReport (string fileName,IList list,null)")]
public void PreviewPushDataReport (string fileName,IList list) // public void PreviewPushDataReport (string fileName,IList list)
{ // {
if (String.IsNullOrEmpty(fileName)) { // if (String.IsNullOrEmpty(fileName)) {
throw new ArgumentNullException("fileName"); // throw new ArgumentNullException("fileName");
} // }
if (list == null) { // if (list == null) {
throw new ArgumentNullException("list"); // throw new ArgumentNullException("list");
} // }
this.PreviewPushDataReport(fileName,list,null); // this.PreviewPushDataReport(fileName,list,null);
} // }
public void PreviewPushDataReport (string fileName,IList list,ReportParameters reportParameters) public void PreviewPushDataReport (string fileName,IList list,ReportParameters reportParameters)
@ -436,7 +436,7 @@ namespace ICSharpCode.Reports.Core {
/// <param name="reportModel"></param> /// <param name="reportModel"></param>
/// <returns></returns> /// <returns></returns>
public static IReportCreator CreatePageBuilder (IReportModel reportModel) internal static IReportCreator CreatePageBuilder (IReportModel reportModel)
{ {
if (reportModel == null) { if (reportModel == null) {
throw new ArgumentNullException("reportModel"); throw new ArgumentNullException("reportModel");

44
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs

@ -10,18 +10,16 @@ using System.Drawing.Text;
using System.Globalization; using System.Globalization;
using System.Windows.Forms; using System.Windows.Forms;
using ICSharpCode.Reports.Core.BaseClasses.Printing;
using ICSharpCode.Reports.Core.Exporter; using ICSharpCode.Reports.Core.Exporter;
using ICSharpCode.Reports.Core.Exporter.ExportRenderer; using ICSharpCode.Reports.Core.Exporter.ExportRenderer;
using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Globals;
using ICSharpCode.Reports.Core.Interfaces;
namespace ICSharpCode.Reports.Core.ReportViewer namespace ICSharpCode.Reports.Core.ReportViewer
{ {
/// <summary> /// <summary>
/// Description of UserControl1. /// Description of UserControl1.
/// </summary> /// </summary>
public partial class PreviewControl : IExportRunner public partial class PreviewControl
{ {
public event EventHandler<EventArgs> PreviewLayoutChanged; public event EventHandler<EventArgs> PreviewLayoutChanged;
@ -36,7 +34,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer
private delegate void invokeDelegate(); private delegate void invokeDelegate();
private ReportSettings reportSettings; private ReportSettings reportSettings;
private IDataManager dataManager;
#region Constructor #region Constructor
@ -90,14 +87,13 @@ namespace ICSharpCode.Reports.Core.ReportViewer
throw new ArgumentNullException("reportModel"); throw new ArgumentNullException("reportModel");
} }
this.SetupViewer(reportModel); this.SetupViewer(reportModel);
if (reportModel.DataModel == GlobalEnums.PushPullModel.FormSheet) { if (reportModel.DataModel == GlobalEnums.PushPullModel.FormSheet) {
RunFormSheet(reportModel); RunFormSheet(reportModel);
} else { } else {
ReportEngine.CheckForParameters(reportModel, parameters); var dataManager = DataManagerFactory.CreateDataManager(reportModel, parameters);
this.dataManager = DataManagerFactory.CreateDataManager(reportModel, parameters); RunReport(reportModel,dataManager);
RunDataReport(reportModel, dataManager);
} }
} }
@ -109,7 +105,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer
if (dataTable == null) { if (dataTable == null) {
throw new ArgumentNullException("dataTable"); throw new ArgumentNullException("dataTable");
} }
ReportEngine.CheckForParameters(reportModel, parameters); // ReportEngine.CheckForParameters(reportModel, parameters);
IDataManager dataManager = DataManagerFactory.CreateDataManager(reportModel, dataTable); IDataManager dataManager = DataManagerFactory.CreateDataManager(reportModel, dataTable);
RunReport(reportModel, dataManager); RunReport(reportModel, dataManager);
@ -124,9 +120,8 @@ namespace ICSharpCode.Reports.Core.ReportViewer
if (dataSource == null) { if (dataSource == null) {
throw new ArgumentNullException("dataSource"); throw new ArgumentNullException("dataSource");
} }
ReportEngine.CheckForParameters(reportModel, parameters); // ReportEngine.CheckForParameters(reportModel, parameters);
IDataManager dataManager = DataManagerFactory.CreateDataManager(reportModel, dataSource); var dataManager = DataManagerFactory.CreateDataManager(reportModel, dataSource);
RunReport(reportModel, dataManager); RunReport(reportModel, dataManager);
} }
@ -139,9 +134,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer
if (dataManager == null) { if (dataManager == null) {
throw new ArgumentNullException("dataManager"); throw new ArgumentNullException("dataManager");
} }
this.SetupViewer(reportModel); this.SetupViewer(reportModel);
this.dataManager = dataManager;
RunDataReport(reportModel, dataManager); RunDataReport(reportModel, dataManager);
} }
@ -150,24 +143,17 @@ namespace ICSharpCode.Reports.Core.ReportViewer
private void RunFormSheet(ReportModel reportModel) private void RunFormSheet(ReportModel reportModel)
{ {
IReportCreator reportCreator = FormPageBuilder.CreateInstance(reportModel); runner.PageCreated += OnPageCreated;
reportCreator.SectionRendering += new EventHandler<SectionRenderEventArgs>(PushPrinting); runner.RunReport(reportModel,(ReportParameters)null);
reportCreator.PageCreated += OnPageCreated;
reportCreator.BuildExportList();
ShowCompleted(); ShowCompleted();
} }
private void RunDataReport(ReportModel reportModel, IDataManager data) private void RunDataReport(ReportModel reportModel, IDataManager data)
{ {
IReportCreator reportCreator = DataPageBuilder.CreateInstance(reportModel, data); runner.PageCreated += OnPageCreated;
reportCreator.SectionRendering += new EventHandler<SectionRenderEventArgs>(PushPrinting); runner.RunReport(reportModel,data);
reportCreator.GroupHeaderRendering += new EventHandler<GroupHeaderEventArgs>(GroupHeaderRendering); runner.PageCreated -= OnPageCreated;
reportCreator.GroupFooterRendering += GroupFooterRendering;
reportCreator.RowRendering += new EventHandler<RowRenderEventArgs>(RowRendering);
reportCreator.PageCreated += OnPageCreated;
reportCreator.BuildExportList();
ShowCompleted(); ShowCompleted();
} }
@ -176,7 +162,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer
#region Events from worker #region Events from worker
private void OnPageCreated(object sender, PageCreatedEventArgs e) private void OnPageCreated(object sender, PageCreatedEventArgs e)
{ {
this.Pages.Add(e.SinglePage); this.Pages.Add(e.SinglePage);
@ -272,9 +257,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer
updateControl = ShowCompleted; updateControl = ShowCompleted;
Invoke(updateControl); Invoke(updateControl);
} }
if (this.dataManager != null) {
this.dataManager.GetNavigator.Reset();
}
this.SetPages(); this.SetPages();
this.CheckEnable(); this.CheckEnable();
this.printButton.Enabled = true; this.printButton.Enabled = true;
@ -335,7 +317,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer
this.comboZoom.ToolTipText = this.reportViewerMessages.ZoomMessage; this.comboZoom.ToolTipText = this.reportViewerMessages.ZoomMessage;
this.createPdfMenu.Text = this.reportViewerMessages.PdfFileMessage; this.createPdfMenu.Text = this.reportViewerMessages.PdfFileMessage;
this.pdfButton.ToolTipText = this.reportViewerMessages.PdfFileMessage; this.pdfButton.ToolTipText = this.reportViewerMessages.PdfFileMessage;
// this.pagesCreatedMessage = this.reportViewerMessages.PagesCreatedMessage;
} }
} }
@ -576,6 +557,5 @@ namespace ICSharpCode.Reports.Core.ReportViewer
Localize(); Localize();
} }
} }
} }
} }

Loading…
Cancel
Save