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 @@ @@ -174,7 +174,7 @@
<Compile Include="Project\Exporter\ExportHelper.cs" />
<Compile Include="Project\Exporter\ExportRenderer\ExportRunner.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\SimpleExpressionEvaluator\Compilation\Functions\ReportingService\FieldReference.cs" />
<Compile Include="Project\Exporter\BasePager.cs" />

10
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs

@ -7,6 +7,7 @@ @@ -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 @@ -19,6 +20,7 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer
public class ExportRunner:IExportRunner
{
public event EventHandler<PageCreatedEventArgs> PageCreated;
public ExportRunner()
{
@ -35,6 +37,7 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer @@ -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 @@ -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 @@ -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 @@ -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);
}
}
}
}

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 @@ -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<PageCreatedEventArgs> PageCreated;
}
}

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

@ -330,16 +330,16 @@ namespace ICSharpCode.Reports.Core { @@ -330,16 +330,16 @@ namespace ICSharpCode.Reports.Core {
/// <param name="dataTable">a Datatable, containing the data</param>
[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 { @@ -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 { @@ -436,7 +436,7 @@ namespace ICSharpCode.Reports.Core {
/// <param name="reportModel"></param>
/// <returns></returns>
public static IReportCreator CreatePageBuilder (IReportModel reportModel)
internal static IReportCreator CreatePageBuilder (IReportModel reportModel)
{
if (reportModel == null) {
throw new ArgumentNullException("reportModel");

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

@ -10,18 +10,16 @@ using System.Drawing.Text; @@ -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
{
/// <summary>
/// Description of UserControl1.
/// </summary>
public partial class PreviewControl : IExportRunner
public partial class PreviewControl
{
public event EventHandler<EventArgs> PreviewLayoutChanged;
@ -36,7 +34,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -150,24 +143,17 @@ namespace ICSharpCode.Reports.Core.ReportViewer
private void RunFormSheet(ReportModel reportModel)
{
IReportCreator reportCreator = FormPageBuilder.CreateInstance(reportModel);
reportCreator.SectionRendering += new EventHandler<SectionRenderEventArgs>(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<SectionRenderEventArgs>(PushPrinting);
reportCreator.GroupHeaderRendering += new EventHandler<GroupHeaderEventArgs>(GroupHeaderRendering);
reportCreator.GroupFooterRendering += GroupFooterRendering;
reportCreator.RowRendering += new EventHandler<RowRenderEventArgs>(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 @@ -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 @@ -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 @@ -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 @@ -576,6 +557,5 @@ namespace ICSharpCode.Reports.Core.ReportViewer
Localize();
}
}
}
}

Loading…
Cancel
Save