Browse Source

Work on Collections as DataSource. Fixed some stuff from FxCop

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@1620 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Peter Forstmeier 19 years ago
parent
commit
6ee144b18a
  1. 1
      src/AddIns/Misc/SharpReport/SharpReport/Designer/VisualControls/ReportImageControl.cs
  2. 24
      src/AddIns/Misc/SharpReport/SharpReport/ReportItems/GraphicBased/ReportImageItem.cs
  3. 2
      src/AddIns/Misc/SharpReport/SharpReport/SharpReport.csproj
  4. 2
      src/AddIns/Misc/SharpReport/SharpReport/SharpReportManager.cs
  5. 21
      src/AddIns/Misc/SharpReport/SharpReportAddin/SharpReportView.cs
  6. 8
      src/AddIns/Misc/SharpReport/SharpReportCore/BaseItems/Graphics/BaseImageItem.cs
  7. 4
      src/AddIns/Misc/SharpReport/SharpReportCore/BaseSettings.cs
  8. 1
      src/AddIns/Misc/SharpReport/SharpReportCore/DataManager/DataManager.cs
  9. 2
      src/AddIns/Misc/SharpReport/SharpReportCore/DataManager/DataNavigator.cs
  10. 2
      src/AddIns/Misc/SharpReport/SharpReportCore/DataManager/ListHandling/ExtendedPropertyDescriptor.cs
  11. 6
      src/AddIns/Misc/SharpReport/SharpReportCore/DataManager/ListStrategy/BaseListStrategy.cs
  12. 18
      src/AddIns/Misc/SharpReport/SharpReportCore/DataManager/ListStrategy/CollectionStrategy.cs
  13. 4
      src/AddIns/Misc/SharpReport/SharpReportCore/DataManager/ListStrategy/TableStrategy.cs
  14. 5
      src/AddIns/Misc/SharpReport/SharpReportCore/Printing/AbstractDataRenderer.cs
  15. 6
      src/AddIns/Misc/SharpReport/SharpReportCore/Printing/AbstractRenderer.cs
  16. 11
      src/AddIns/Misc/SharpReport/SharpReportCore/Printing/RenderDataReport.cs
  17. 36
      src/AddIns/Misc/SharpReport/SharpReportCore/ReportSettings.cs
  18. 1
      src/AddIns/Misc/SharpReport/SharpReportCore/SharpReportCore.csproj
  19. 111
      src/AddIns/Misc/SharpReport/SharpReportCore/SharpReportEngine.cs

1
src/AddIns/Misc/SharpReport/SharpReport/Designer/VisualControls/ReportImageControl.cs

@ -10,6 +10,7 @@
using System; using System;
using System.Drawing; using System.Drawing;
using System.Windows.Forms; using System.Windows.Forms;
using SharpReport.Designer; using SharpReport.Designer;

24
src/AddIns/Misc/SharpReport/SharpReport/ReportItems/GraphicBased/ReportImageItem.cs

@ -9,11 +9,16 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
using System; using System;
using System.ComponentModel; using System.ComponentModel;
using System.Drawing; using System.Drawing;
using System.Drawing.Design; using System.Drawing.Design;
using SharpReportCore; using SharpReportCore;
using SharpReport.Designer; //using System.Windows.Forms;
using System.Windows.Forms.Design;
using SharpReport.Designer;
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
@ -141,13 +146,18 @@ namespace SharpReport.ReportItems {
this.HandlePropertyChanged("Location"); this.HandlePropertyChanged("Location");
} }
} }
[Editor ( typeof(FileNameEditor), typeof(UITypeEditor) ) ]
public override string FileName {
get {
return base.FileName;
}
set {
base.FileName = value;
}
}
// public override Image Image {
// get {
// return base.Image;
// }
// }
//
public override void Dispose() { public override void Dispose() {
base.Dispose(); base.Dispose();

2
src/AddIns/Misc/SharpReport/SharpReport/SharpReport.csproj

@ -37,6 +37,8 @@
<Reference Include="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <Reference Include="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<Reference Include="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <Reference Include="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<Reference Include="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <Reference Include="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<Reference Include="System.Drawing.Design" />
<Reference Include="System.Design" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Designer\Ruler\ctrlRuler.cs" /> <Compile Include="Designer\Ruler\ctrlRuler.cs" />

2
src/AddIns/Misc/SharpReport/SharpReport/SharpReportManager.cs

@ -1,6 +1,6 @@
/* /*
* Created by SharpDevelop. * Created by SharpDevelop.
* User: Forstmeier Helmut * User: Forstmeier Peter
* Date: 14.11.2004 * Date: 14.11.2004
* Time: 17:58 * Time: 17:58
* *

21
src/AddIns/Misc/SharpReport/SharpReportAddin/SharpReportView.cs

@ -10,21 +10,17 @@
// Copyright (C) 2005 peter.forstmeier@t-online.de // Copyright (C) 2005 peter.forstmeier@t-online.de
using System; using System;
using System.IO; using System.Data;
//using System.ComponentModel;
using System.Globalization; using System.Globalization;
using System.Drawing; using System.IO;
using System.Drawing.Printing;
using System.Windows.Forms; using System.Windows.Forms;
using System.Data;
using ICSharpCode.Core; using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.SharpDevelop.Gui;
using SharpReport; using SharpReport;
using SharpReportCore;
using SharpReport.Designer; using SharpReport.Designer;
using SharpReportCore;
namespace SharpReportAddin{ namespace SharpReportAddin{
/// <summary> /// <summary>
@ -214,20 +210,21 @@ namespace SharpReportAddin{
#region Preview handling #region Preview handling
private static DataSet DataSetFromFile () { private static DataSet DataSetFromFile () {
DataSet ds = new DataSet();
ds.Locale = CultureInfo.InvariantCulture;
using (OpenFileDialog openFileDialog = new OpenFileDialog()){ using (OpenFileDialog openFileDialog = new OpenFileDialog()){
openFileDialog.Filter = GlobalValues.XsdFileFilter; openFileDialog.Filter = GlobalValues.XsdFileFilter;
openFileDialog.DefaultExt = GlobalValues.XsdExtension; openFileDialog.DefaultExt = GlobalValues.XsdExtension;
openFileDialog.AddExtension = true; openFileDialog.AddExtension = true;
if(openFileDialog.ShowDialog() == DialogResult.OK){ if(openFileDialog.ShowDialog() == DialogResult.OK){
if (openFileDialog.FileName.Length > 0) { if (openFileDialog.FileName.Length > 0) {
DataSet ds = new DataSet();
ds.ReadXml (openFileDialog.FileName); ds.ReadXml (openFileDialog.FileName);
ds.Locale = CultureInfo.InvariantCulture;
return ds;
} }
} }
} }
return ds; throw new MissingDataSourceException();
} }
private void RunPreview(bool standAlone) { private void RunPreview(bool standAlone) {

8
src/AddIns/Misc/SharpReport/SharpReportCore/BaseItems/Graphics/BaseImageItem.cs

@ -9,11 +9,9 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
using System; using System;
using System.Globalization;
using System.ComponentModel;
using System.Drawing; using System.Drawing;
using System.Drawing.Design; using System.Globalization;
using System.Windows.Forms;
/// <summary> /// <summary>
/// Handles the drawing of Images like Bitmap's and so on /// Handles the drawing of Images like Bitmap's and so on
/// </summary> /// </summary>
@ -91,7 +89,7 @@ namespace SharpReportCore {
#region properties #region properties
public virtual string FileName { public virtual string FileName {
get { get {
return fileName; return fileName;

4
src/AddIns/Misc/SharpReport/SharpReportCore/BaseSettings.cs

@ -156,6 +156,7 @@ namespace SharpReportCore {
} }
} }
[Category("Base Settings")] [Category("Base Settings")]
[DefaultValueAttribute ("")] [DefaultValueAttribute ("")]
[XmlIgnoreAttribute] [XmlIgnoreAttribute]
@ -176,6 +177,7 @@ namespace SharpReportCore {
} }
} }
} }
[Category("Output Settings")] [Category("Output Settings")]
[DefaultValueAttribute (true)] [DefaultValueAttribute (true)]
@ -190,7 +192,7 @@ namespace SharpReportCore {
} }
} }
} }
[Category("Output Settings")] [Category("Output Settings")]
[XmlIgnoreAttribute] [XmlIgnoreAttribute]

1
src/AddIns/Misc/SharpReport/SharpReportCore/DataManager/DataManager.cs

@ -97,6 +97,7 @@ namespace SharpReportCore {
public DataManager(IList dataSource, ReportSettings reportSettings){ public DataManager(IList dataSource, ReportSettings reportSettings){
this.InitDataManager(reportSettings,dataSource); this.InitDataManager(reportSettings,dataSource);
this.dataViewStrategy = new CollectionStrategy ((IList)this.dataSource, this.dataViewStrategy = new CollectionStrategy ((IList)this.dataSource,
this.dataMember, this.dataMember,
reportSettings); reportSettings);

2
src/AddIns/Misc/SharpReport/SharpReportCore/DataManager/DataNavigator.cs

@ -9,6 +9,8 @@
using System; using System;
using System.ComponentModel; using System.ComponentModel;
//using System.Collections;
namespace SharpReportCore namespace SharpReportCore
{ {
/// <summary> /// <summary>

2
src/AddIns/Misc/SharpReport/SharpReportCore/DataManager/ListHandling/ExtendedPropertyDescriptor.cs

@ -1,7 +1,7 @@
using System; using System;
using System.Collections; using System.Collections;
using System.Reflection;
using System.ComponentModel; using System.ComponentModel;
using System.Reflection;
namespace SharpReportCore { namespace SharpReportCore {
/// <summary> /// <summary>

6
src/AddIns/Misc/SharpReport/SharpReportCore/DataManager/ListStrategy/BaseListStrategy.cs

@ -9,11 +9,9 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
using System; using System;
using System.Globalization;
using System.ComponentModel;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.ComponentModel;
/// <summary> /// <summary>
/// BaseClass for all Datahandling Strategies /// BaseClass for all Datahandling Strategies
/// </summary> /// </summary>

18
src/AddIns/Misc/SharpReport/SharpReportCore/DataManager/ListStrategy/CollectionStrategy.cs

@ -8,11 +8,10 @@
// </autogenerated> // </autogenerated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
using System; using System;
using System.Globalization;
using System.ComponentModel;
using System.Collections; using System.Collections;
using System.ComponentModel;
using System.Globalization;
/// <summary> /// <summary>
/// This Class handles all List's with IList /// This Class handles all List's with IList
/// Access to Data is allway#s done by using the 'IndexList' /// Access to Data is allway#s done by using the 'IndexList'
@ -147,6 +146,7 @@ namespace SharpReportCore {
values[0] = rowIndex; values[0] = rowIndex;
arrayList.Add(new BaseComparer(col, rowIndex, values)); arrayList.Add(new BaseComparer(col, rowIndex, values));
} }
} }
@ -164,6 +164,13 @@ namespace SharpReportCore {
} }
} }
public override object Current {
get {
return this.baseList[((BaseComparer)base.IndexList[base.CurrentRow]).ListIndex];
}
}
public override int Count { public override int Count {
get { get {
return this.baseList.Count; return this.baseList.Count;
@ -211,8 +218,6 @@ namespace SharpReportCore {
public override void Bind() { public override void Bind() {
base.Bind(); base.Bind();
// if ((base.ReportSettings.GroupColumnsCollection != null) && (base.ReportSettings.GroupColumnsCollection.Count > 0)) {
if (base.ReportSettings.GroupColumnsCollection.Count > 0) { if (base.ReportSettings.GroupColumnsCollection.Count > 0) {
this.Group (); this.Group ();
Reset(); Reset();
@ -220,7 +225,6 @@ namespace SharpReportCore {
} }
if (base.ReportSettings.SortColumnCollection != null) { if (base.ReportSettings.SortColumnCollection != null) {
// if (base.ReportSettings.SortColumnCollection.Count > 0) {
this.Sort (); this.Sort ();
} }
Reset(); Reset();
@ -235,7 +239,7 @@ namespace SharpReportCore {
if (baseDataItem != null) { if (baseDataItem != null) {
baseDataItem.DbValue = ""; baseDataItem.DbValue = "";
baseDataItem.DbValue = p.GetValue(this.current).ToString(); baseDataItem.DbValue = p.GetValue(this.Current).ToString();
} }
} }
} catch (System.NullReferenceException) { } catch (System.NullReferenceException) {

4
src/AddIns/Misc/SharpReport/SharpReportCore/DataManager/ListStrategy/TableStrategy.cs

@ -8,12 +8,8 @@
// </autogenerated> // </autogenerated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
using System; using System;
using System.Text;
using System.Collections;
using System.Data; using System.Data;
using System.ComponentModel;
/// <summary> /// <summary>
/// This class handles DataTables /// This class handles DataTables
/// </summary> /// </summary>

5
src/AddIns/Misc/SharpReport/SharpReportCore/Printing/AbstractDataRenderer.cs

@ -10,6 +10,7 @@
using System; using System;
using System.Drawing; using System.Drawing;
using System.Drawing.Printing; using System.Drawing.Printing;
namespace SharpReportCore{ namespace SharpReportCore{
/// <summary> /// <summary>
/// Description of AbstractDataRenderer. /// Description of AbstractDataRenderer.
@ -39,6 +40,7 @@ namespace SharpReportCore{
#endregion #endregion
protected int DoItems (ReportPageEventArgs rpea) { protected int DoItems (ReportPageEventArgs rpea) {
IContainerItem container = null; IContainerItem container = null;
bool hasContainer = false; bool hasContainer = false;
foreach (BaseReportItem item in this.CurrentSection.Items) { foreach (BaseReportItem item in this.CurrentSection.Items) {
@ -69,15 +71,12 @@ namespace SharpReportCore{
this.DataNavigator.Fill(container.Items); this.DataNavigator.Fill(container.Items);
Point drawPoint = new Point(0,0); Point drawPoint = new Point(0,0);
if (section.Visible){ if (section.Visible){
// System.Console.WriteLine("\tcall section.Render");
section.Render (rpea); section.Render (rpea);
// System.Console.WriteLine("\tback from section.Render");
foreach (BaseReportItem item in section.Items) { foreach (BaseReportItem item in section.Items) {
if (item.Parent == null) { if (item.Parent == null) {
item.Parent = section; item.Parent = section;
} }
item.SectionOffset = section.SectionOffset; item.SectionOffset = section.SectionOffset;
// System.Console.WriteLine("\trender <{0}> with Boder set to {1}",item.Name,item.DrawBorder);
item.Render(rpea); item.Render(rpea);
drawPoint.Y = section.SectionOffset + section.Size.Height; drawPoint.Y = section.SectionOffset + section.Size.Height;
rpea.LocationAfterDraw = new Point (rpea.LocationAfterDraw.X,section.SectionOffset + section.Size.Height); rpea.LocationAfterDraw = new Point (rpea.LocationAfterDraw.X,section.SectionOffset + section.Size.Height);

6
src/AddIns/Misc/SharpReport/SharpReportCore/Printing/AbstractRenderer.cs

@ -288,7 +288,6 @@ namespace SharpReportCore {
} }
protected bool IsRoomForFooter(Point loc) { protected bool IsRoomForFooter(Point loc) {
// System.Console.WriteLine("AbstractRenderer:isRoomForFooter");
Rectangle r = new Rectangle( this.page.ReportFooterRectangle.Left, Rectangle r = new Rectangle( this.page.ReportFooterRectangle.Left,
loc.Y, loc.Y,
this.page.ReportFooterRectangle.Width, this.page.ReportFooterRectangle.Width,
@ -303,8 +302,8 @@ namespace SharpReportCore {
} }
protected virtual int RenderSection (ReportPageEventArgs rpea) { protected virtual int RenderSection (ReportPageEventArgs rpea) {
Point drawPoint = new Point(0,0); Point drawPoint = new Point(0,0);
// System.Console.WriteLine("AbstarctRenderer:Rendersection <{0}>",this.CurrentSection.Name);
if (this.CurrentSection.Visible){ if (this.CurrentSection.Visible){
this.CurrentSection.Render (rpea); this.CurrentSection.Render (rpea);
@ -312,6 +311,7 @@ namespace SharpReportCore {
if (item.Parent == null) { if (item.Parent == null) {
item.Parent = this.CurrentSection; item.Parent = this.CurrentSection;
} }
//test for container //test for container
IContainerItem container = item as IContainerItem; IContainerItem container = item as IContainerItem;
// if (container != null) { // if (container != null) {
@ -323,8 +323,6 @@ namespace SharpReportCore {
// } // }
item.SectionOffset = this.CurrentSection.SectionOffset; item.SectionOffset = this.CurrentSection.SectionOffset;
// System.Console.WriteLine("\trender start at offset {0}",item.SectionOffset);
item.Render(rpea); item.Render(rpea);
drawPoint.Y = this.CurrentSection.SectionOffset + this.CurrentSection.Size.Height; drawPoint.Y = this.CurrentSection.SectionOffset + this.CurrentSection.Size.Height;
rpea.LocationAfterDraw = new Point (rpea.LocationAfterDraw.X, rpea.LocationAfterDraw = new Point (rpea.LocationAfterDraw.X,

11
src/AddIns/Misc/SharpReport/SharpReportCore/Printing/RenderDataReport.cs

@ -21,15 +21,10 @@
// Peter Forstmeier (Peter.Forstmeier@t-online.de) // Peter Forstmeier (Peter.Forstmeier@t-online.de)
using System; using System;
using System.Data;
using System.Drawing;
using System.ComponentModel; using System.ComponentModel;
using System.Globalization; using System.Drawing;
using System.Drawing.Printing; using System.Drawing.Printing;
using SharpReportCore;
/// <summary> /// <summary>
/// Renderer for DataReports /// Renderer for DataReports
/// </summary> /// </summary>
@ -178,6 +173,7 @@ namespace SharpReportCore {
bool firstOnPage = true; bool firstOnPage = true;
base.PrintDetail(sender, rpea); base.PrintDetail(sender, rpea);
// no loop if there is no data // no loop if there is no data
if (! this.dataNavigator.HasMoreData ) { if (! this.dataNavigator.HasMoreData ) {
rpea.PrintPageEventArgs.HasMorePages = false; rpea.PrintPageEventArgs.HasMorePages = false;
@ -188,7 +184,7 @@ namespace SharpReportCore {
if (this.ReportDocument.PageNumber ==1) { if (this.ReportDocument.PageNumber ==1) {
this.dataNavigator.MoveNext(); this.dataNavigator.MoveNext();
} }
do { do {
this.dataNavigator.Fill (base.CurrentSection.Items); this.dataNavigator.Fill (base.CurrentSection.Items);
base.RenderSection (rpea); base.RenderSection (rpea);
@ -198,7 +194,6 @@ namespace SharpReportCore {
} }
base.FitSectionToItems (base.CurrentSection,rpea.PrintPageEventArgs); base.FitSectionToItems (base.CurrentSection,rpea.PrintPageEventArgs);
sectionRect = new Rectangle (rpea.PrintPageEventArgs.MarginBounds.Left, sectionRect = new Rectangle (rpea.PrintPageEventArgs.MarginBounds.Left,

36
src/AddIns/Misc/SharpReport/SharpReportCore/ReportSettings.cs

@ -511,6 +511,7 @@ namespace SharpReportCore{
#region Sorting,grouping and ReportParameters #region Sorting,grouping and ReportParameters
[Browsable(false)] [Browsable(false)]
[XmlIgnoreAttribute] [XmlIgnoreAttribute]
public ColumnCollection AvailableFieldsCollection { public ColumnCollection AvailableFieldsCollection {
@ -524,16 +525,16 @@ namespace SharpReportCore{
/// <summary> /// <summary>
/// Get/Set a Collection of <see cref="SortColumn">SortColumn</see> /// Get/Set a Collection of <see cref="SortColumn">SortColumn</see>
/// </summary> /// </summary>
[Browsable(false)] [Browsable(false)]
[XmlIgnoreAttribute] [XmlIgnoreAttribute]
public ColumnCollection SortColumnCollection { public ColumnCollection SortColumnCollection {
get { get {
return sortingCollection; return sortingCollection;
} }
// set {
// sortingCollection = value;
// }
} }
[Browsable(false)] [Browsable(false)]
[XmlIgnoreAttribute] [XmlIgnoreAttribute]
public ColumnCollection GroupColumnsCollection { public ColumnCollection GroupColumnsCollection {
@ -543,17 +544,6 @@ namespace SharpReportCore{
} }
return groupingsCollection; return groupingsCollection;
} }
/*
set {
if (this.groupingsCollection == null) {
groupingsCollection = new ColumnCollection();
}
if (groupingsCollection != value) {
groupingsCollection = value;
this.NotifyPropertyChanged();
}
}
*/
} }
[Browsable(false)] [Browsable(false)]
@ -648,15 +638,15 @@ namespace SharpReportCore{
#endregion #endregion
#region OutPut Settings #region OutPut Settings
string bla; // string bla;
//
[XmlAttributeAttribute("titleFont")] // [XmlAttributeAttribute("titleFont")]
public string TestName { // public string TestName {
get { // get {
return "Name = testName"; // return "Name = testName";
} // }
set { bla = value;} // set { bla = value;}
} // }
[Category("Output Settings")] [Category("Output Settings")]
public Font DefaultFont { public Font DefaultFont {

1
src/AddIns/Misc/SharpReport/SharpReportCore/SharpReportCore.csproj

@ -38,6 +38,7 @@
<Reference Include="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <Reference Include="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<Reference Include="System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <Reference Include="System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<Reference Include="System.Data" /> <Reference Include="System.Data" />
<Reference Include="System.Design" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="BaseItems\BaseTextItem.cs" /> <Compile Include="BaseItems\BaseTextItem.cs" />

111
src/AddIns/Misc/SharpReport/SharpReportCore/SharpReportEngine.cs

@ -20,13 +20,12 @@
// Peter Forstmeier (Peter.Forstmeier@t-online.de) // Peter Forstmeier (Peter.Forstmeier@t-online.de)
using System; using System;
using System.ComponentModel;
using System.Collections;
using System.Data; using System.Data;
using System.Data.OleDb;
using System.Drawing.Printing; using System.Drawing.Printing;
using System.Windows.Forms; using System.Windows.Forms;
using SharpReportCore;
/// <summary> /// <summary>
/// This Class contains the basic Functions to handle reports /// This Class contains the basic Functions to handle reports
/// </summary> /// </summary>
@ -125,6 +124,7 @@ namespace SharpReportCore {
#endregion #endregion
#region Setup for print/preview #region Setup for print/preview
/*
private static bool CheckForPushModel (ReportModel model) { private static bool CheckForPushModel (ReportModel model) {
if (model.ReportSettings.DataModel == GlobalEnums.enmPushPullModel.PushData) { if (model.ReportSettings.DataModel == GlobalEnums.enmPushPullModel.PushData) {
return true; return true;
@ -132,7 +132,16 @@ namespace SharpReportCore {
return false; return false;
} }
} }
*/
private ReportModel ValidatePushModel (string fileName) {
ReportModel model = ModelFromFile (fileName);
if (model.ReportSettings.DataModel != GlobalEnums.enmPushPullModel.PushData) {
throw new SharpReportException ("PrintPushdataReport: No valid ReportModel");
}
return model;
}
private void InitDataContainer (ReportSettings settings) { private void InitDataContainer (ReportSettings settings) {
if (settings.ReportType == GlobalEnums.enmReportType.DataReport) { if (settings.ReportType == GlobalEnums.enmReportType.DataReport) {
if (settings.CommandText != null) { if (settings.CommandText != null) {
@ -145,7 +154,6 @@ namespace SharpReportCore {
this.dataManager.DataBind(); this.dataManager.DataBind();
} }
} }
catch (System.Data.OleDb.OleDbException) { catch (System.Data.OleDb.OleDbException) {
throw ; throw ;
@ -237,6 +245,37 @@ namespace SharpReportCore {
} }
} }
protected SharpReportCore.AbstractRenderer SetupPushDataRenderer (ReportModel model,
IList list) {
if (model == null) {
throw new ArgumentNullException("model");
}
if (model.ReportSettings.ReportType != GlobalEnums.enmReportType.DataReport) {
throw new ArgumentException("SetupPushDataRenderer <No valid ReportModel>");
}
if (model.ReportSettings.DataModel != GlobalEnums.enmPushPullModel.PushData) {
throw new ArgumentException("SetupPushDataRenderer <No valid ReportType>");
}
AbstractRenderer abstr = null;
this.dataManager = new DataManager (list,model.ReportSettings);
if (this.dataManager != null) {
this.dataManager.DataBind();
if (this.dataManager.DataSource != null) {
abstr = new RendererFactory().Create (model,dataManager);
}
abstr.Rendering += new EventHandler<SectionRenderEventArgs>(OnSectionPrinting);
abstr.SectionRendered +=new EventHandler<SectionRenderEventArgs>(OnSectionPrinted);
return abstr;
}
return null;
}
protected SharpReportCore.AbstractRenderer SetupPushDataRenderer (ReportModel model, protected SharpReportCore.AbstractRenderer SetupPushDataRenderer (ReportModel model,
DataTable dataTable) { DataTable dataTable) {
@ -267,6 +306,7 @@ namespace SharpReportCore {
return null; return null;
} }
#endregion #endregion
/// <summary> /// <summary>
@ -342,6 +382,7 @@ namespace SharpReportCore {
ReportModel model = null; ReportModel model = null;
AbstractRenderer renderer = null; AbstractRenderer renderer = null;
try { try {
model = ModelFromFile (fileName); model = ModelFromFile (fileName);
if (CheckReportParameters (model,reportParameters)) { if (CheckReportParameters (model,reportParameters)) {
renderer = SetupStandartRenderer (model); renderer = SetupStandartRenderer (model);
@ -368,14 +409,10 @@ namespace SharpReportCore {
if (dataTable == null) { if (dataTable == null) {
throw new ArgumentNullException("dataTable"); throw new ArgumentNullException("dataTable");
} }
ReportModel model = null;
AbstractRenderer renderer = null; AbstractRenderer renderer = null;
try { try {
model = ModelFromFile (fileName); ReportModel model = ValidatePushModel (fileName);
if (!CheckForPushModel(model)) {
throw new SharpReportException ("PrintPushdataReport: No valid ReportModel");
}
renderer = this.SetupPushDataRenderer (model,dataTable); renderer = this.SetupPushDataRenderer (model,dataTable);
if (renderer != null) { if (renderer != null) {
@ -386,6 +423,30 @@ namespace SharpReportCore {
} }
} }
public void PreviewPushDataReport (string fileName,IList list) {
if (String.IsNullOrEmpty(fileName)) {
throw new ArgumentNullException("fileName");
}
if (list == null) {
throw new ArgumentNullException("list");
}
AbstractRenderer renderer = null;
try {
ReportModel model = this.ValidatePushModel(fileName);
renderer = this.SetupPushDataRenderer (model,list);
if (renderer != null) {
PreviewControl.ShowPreview(renderer,1.5,false);
}
} catch (Exception) {
throw;
}
}
#endregion #endregion
#region Printing #region Printing
@ -454,7 +515,8 @@ namespace SharpReportCore {
/// <param name="dataTable"></param> /// <param name="dataTable"></param>
/// <param name="showPrintDialog">if set to true, show the <see cref="PrintDialog"></see> /// <param name="showPrintDialog">if set to true, show the <see cref="PrintDialog"></see>
/// </param> /// </param>
[Obsolete("Use public void PrintPushDataReport (string fileName,DataTable dataTable)")]
public void PrintPushDataReport (string fileName, public void PrintPushDataReport (string fileName,
DataTable dataTable, DataTable dataTable,
bool showPrintDialog) { bool showPrintDialog) {
@ -465,25 +527,21 @@ namespace SharpReportCore {
if (dataTable == null) { if (dataTable == null) {
throw new ArgumentNullException("dataTable"); throw new ArgumentNullException("dataTable");
} }
ReportModel model = null;
AbstractRenderer renderer = null; AbstractRenderer renderer = null;
try { try {
model = ModelFromFile (fileName); ReportModel model = this.ValidatePushModel(fileName);
if (!CheckForPushModel(model)) {
throw new SharpReportException ("PrintPushdataReport: No valid ReportModel");
}
renderer = SetupPushDataRenderer (model,dataTable); renderer = SetupPushDataRenderer (model,dataTable);
SharpReportEngine.ReportToPrinter(renderer,model); SharpReportEngine.ReportToPrinter(renderer,model);
} catch (Exception) { } catch (Exception) {
throw; throw;
} }
} }
/// <summary> /// <summary>
/// Print a PullModel Report, if <see cref="UseStandartPrinter"></see> in /// Print a PushModel Report, if <see cref="UseStandartPrinter"></see> in
/// <see cref="ReportSettings"></see> is true, the Report is send directly to the printer, /// <see cref="ReportSettings"></see> is true, the Report is send directly to the printer,
/// otherwise, we show a <see cref="PrintDialog"></see> /// otherwise, we show a <see cref="PrintDialog"></see>
/// </summary> /// </summary>
@ -496,16 +554,11 @@ namespace SharpReportCore {
if (dataTable == null) { if (dataTable == null) {
throw new ArgumentNullException("dataTable"); throw new ArgumentNullException("dataTable");
} }
ReportModel model = null;
AbstractRenderer renderer = null; AbstractRenderer renderer = null;
try { try {
model = ModelFromFile (fileName); ReportModel model = this.ValidatePushModel(fileName);
if (!CheckForPushModel(model)) { renderer = SetupPushDataRenderer (model,dataTable);
throw new MissingModelException();
}
renderer = this.SetupPushDataRenderer (model,dataTable);
SharpReportEngine.ReportToPrinter(renderer,model); SharpReportEngine.ReportToPrinter(renderer,model);
} catch (Exception) { } catch (Exception) {

Loading…
Cancel
Save