Browse Source

Implement IDataItem Interface to have easier access to Images, Images are displayed again

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/reports@6427 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
Peter Forstmeier 16 years ago
parent
commit
5d5f6a987b
  1. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj
  2. 138
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs
  3. 9
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs
  4. 32
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/IBaseDataItem.cs
  5. 6
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataNavigator.cs
  6. 5
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/BaseListStrategy.cs
  7. 11
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/CollectionStrategy.cs
  8. 16
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/TableStrategy.cs
  9. 16
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataViewStrategy.cs

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

@ -94,6 +94,7 @@
<Compile Include="Project\BaseItems\BaseDataItem.cs" /> <Compile Include="Project\BaseItems\BaseDataItem.cs" />
<Compile Include="Project\BaseItems\ErrorItem.cs" /> <Compile Include="Project\BaseItems\ErrorItem.cs" />
<Compile Include="Project\BaseItems\Graphics\BaseLineItem.cs" /> <Compile Include="Project\BaseItems\Graphics\BaseLineItem.cs" />
<Compile Include="Project\BaseItems\IBaseDataItem.cs" />
<Compile Include="Project\BaseItems\IExpression.cs" /> <Compile Include="Project\BaseItems\IExpression.cs" />
<Compile Include="Project\DataManager\ChildNavigator.cs" /> <Compile Include="Project\DataManager\ChildNavigator.cs" />
<Compile Include="Project\DataManager\Comparer\BaseComparer.cs" /> <Compile Include="Project\DataManager\Comparer\BaseComparer.cs" />

138
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs

@ -20,92 +20,80 @@ using ICSharpCode.Reports.Core.Exporter;
/// created by - Forstmeier Peter /// created by - Forstmeier Peter
/// created on - 22.08.2005 00:12:59 /// created on - 22.08.2005 00:12:59
/// </remarks> /// </remarks>
namespace ICSharpCode.Reports.Core { namespace ICSharpCode.Reports.Core
public class BaseDataItem : BaseTextItem,IDataRenderer,IExportColumnBuilder {
public class BaseDataItem : BaseTextItem, IDataRenderer, IExportColumnBuilder, IDataItem
{ {
private string columnName; private string columnName;
private string baseTableName;
private string dbValue; private string dbValue;
private string nullValue;
#region Constructor #region Constructor
public BaseDataItem():base() public BaseDataItem() : base()
{ {
} }
public BaseDataItem(string columnName):base() public BaseDataItem(string columnName) : base()
{ {
this.columnName = columnName; this.columnName = columnName;
} }
#endregion #endregion
#region privates #region privates
private string CheckForNullValue() private string CheckForNullValue()
{ {
if (String.IsNullOrEmpty(this.dbValue)) { if (String.IsNullOrEmpty(this.dbValue)) {
if (String.IsNullOrEmpty(this.nullValue)) { if (String.IsNullOrEmpty(this.NullValue)) {
return GlobalValues.UnboundName; return GlobalValues.UnboundName;
} else } else
return this.nullValue; return this.NullValue;
} }
return this.dbValue; return this.dbValue;
} }
#endregion #endregion
#region IExportColumnBuilder implementation #region IExportColumnBuilder implementation
public new BaseExportColumn CreateExportColumn() public new BaseExportColumn CreateExportColumn()
{ {
string toPrint = CheckForNullValue(); string toPrint = CheckForNullValue();
TextStyleDecorator st = base.CreateItemStyle(); TextStyleDecorator st = base.CreateItemStyle();
ExportText item = new ExportText(st,false); ExportText item = new ExportText(st, false);
item.Text = StandardFormatter.FormatOutput(toPrint, item.Text = StandardFormatter.FormatOutput(toPrint, this.FormatString, base.DataType, this.NullValue);
this.FormatString,
base.DataType,
this.nullValue);
return item; return item;
} }
#endregion #endregion
public override void Render(ReportPageEventArgs rpea) public override void Render(ReportPageEventArgs rpea)
{ {
string toPrint = CheckForNullValue(); string toPrint = CheckForNullValue();
base.Text = StandardFormatter.FormatOutput(toPrint, base.Text = StandardFormatter.FormatOutput(toPrint, this.FormatString, base.DataType, this.NullValue);
this.FormatString, base.Render(rpea);
base.DataType,
this.nullValue);
base.Render (rpea);
} }
public override string ToString() public override string ToString()
{ {
return this.GetType().Name; return this.GetType().Name;
} }
#region Properies #region Properies
[XmlIgnoreAttribute] [XmlIgnoreAttribute()]
[Browsable(false)] [Browsable(false)]
public virtual string DBValue public virtual string DBValue {
{ get { return dbValue; }
get { set { dbValue = value; }
return dbValue;
}
set {
dbValue = value;
}
} }
public virtual string ColumnName public virtual string ColumnName {
{
get { get {
if (String.IsNullOrEmpty(columnName)) { if (String.IsNullOrEmpty(columnName)) {
this.columnName = GlobalValues.UnboundName; this.columnName = GlobalValues.UnboundName;
@ -117,45 +105,29 @@ namespace ICSharpCode.Reports.Core {
this.Text = this.columnName; this.Text = this.columnName;
} }
} }
///<summary> ///<summary>
/// Mappingname to Datasource /// Mappingname to Datasource
/// </summary> /// </summary>
/// ///
[XmlIgnoreAttribute] [XmlIgnoreAttribute()]
[Browsable(true),Category("Databinding"), [Browsable(true), Category("Databinding"), Description("Mapping Name to DataTable")]
Description("Mapping Name to DataTable")] public string MappingName {
public string MappingName get { return BaseTableName + "." + this.ColumnName; }
{
get {
return baseTableName + "." + columnName;
}
}
public string BaseTableName
{
get {
return baseTableName;
}
set {
baseTableName = value;
}
} }
public string BaseTableName {get;set;}
[Browsable(true),
Category("Databinding"),
Description("Display Value for empty Field")]
public string NullValue {get;set;}
[Browsable(true),Category("Databinding"),Description("Display Value for empty Field")]
public string NullValue {
get {
return nullValue;
}
set {
nullValue = value;
}
}
#endregion #endregion
} }
} }

9
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs

@ -21,7 +21,7 @@ using ICSharpCode.Reports.Core.Exporter;
namespace ICSharpCode.Reports.Core { namespace ICSharpCode.Reports.Core {
public class BaseImageItem : BaseGraphicItem,IDataRenderer ,IExportColumnBuilder{ public class BaseImageItem : BaseGraphicItem,IDataItem,IDataRenderer,IExportColumnBuilder{
/// <summary> /// <summary>
/// Default constructor /// Default constructor
@ -175,6 +175,13 @@ namespace ICSharpCode.Reports.Core {
} }
public string DBValue {
get{throw new NotImplementedException();}
set{throw new NotImplementedException();}
}
public virtual string ImageFileName public virtual string ImageFileName
{ {
get { get {

32
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/IBaseDataItem.cs

@ -0,0 +1,32 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Peter Forstmeier" email="peter.forstmeier@t-online.de"/>
// <version>$Revision: 6130 $</version>
// </file>
using System;
using System.ComponentModel;
using System.Drawing;
using System.Xml.Serialization;
using ICSharpCode.Reports.Core.BaseClasses.Printing;
using ICSharpCode.Reports.Core.Exporter;
/// <summary>
/// This Class is used for Databased items
/// </summary>
/// <remarks>
/// created by - Forstmeier Peter
/// created on - 22.08.2005 00:12:59
/// </remarks>
namespace ICSharpCode.Reports.Core
{
public interface IDataItem
{
string ColumnName { get; set; }
string MappingName { get; }
string BaseTableName { get; set; }
string DBValue {get;set;}
}
}

6
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataNavigator.cs

@ -40,13 +40,11 @@ namespace ICSharpCode.Reports.Core
return inheritedReportItems; return inheritedReportItems;
} }
#region IDataNavigator implementation #region IDataNavigator implementation
public void Fill (ReportItemCollection collection) { public void Fill (ReportItemCollection collection) {
foreach (IDataItem item in collection) {
Collection<BaseDataItem> filteredCollection = ExtraxtDataItems(collection);
foreach (BaseReportItem item in filteredCollection) {
this.store.Fill(item); this.store.Fill(item);
} }
} }

5
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/BaseListStrategy.cs

@ -113,7 +113,6 @@ namespace ICSharpCode.Reports.Core {
Console.WriteLine("---- {0}",c.ObjectArray[0]); Console.WriteLine("---- {0}",c.ObjectArray[0]);
} }
} }
//
} }
} }
@ -240,9 +239,9 @@ namespace ICSharpCode.Reports.Core {
} }
public virtual void Fill(IReportItem item)
{
public virtual void Fill(IDataItem item)
{
} }

11
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/CollectionStrategy.cs

@ -195,23 +195,14 @@ namespace ICSharpCode.Reports.Core {
public override void Bind() public override void Bind()
{ {
base.Bind(); base.Bind();
/*
if (base.ReportSettings.GroupColumnsCollection.Count > 0) {
// this.Group ();
Reset();
return;
}
*/
if (base.ReportSettings.SortColumnsCollection != null) { if (base.ReportSettings.SortColumnsCollection != null) {
this.Sort (); this.Sort ();
} }
Reset(); Reset();
} }
public override void Fill(IReportItem item) public override void Fill(IDataItem item)
{ {
base.Fill(item);
if (current != null) { if (current != null) {
BaseDataItem baseDataItem = item as BaseDataItem; BaseDataItem baseDataItem = item as BaseDataItem;
if (baseDataItem != null) { if (baseDataItem != null) {

16
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/TableStrategy.cs

@ -44,19 +44,10 @@ namespace ICSharpCode.Reports.Core
} }
public override void Fill(IDataItem item)
public override void Fill(IReportItem item)
{ {
base.Fill(item);
DataRow row = this.Current as DataRow; DataRow row = this.Current as DataRow;
if (row != null) { if (row != null) {
BaseDataItem baseDataItem = item as BaseDataItem;
if (baseDataItem != null) {
baseDataItem.DBValue = row[baseDataItem.ColumnName].ToString();
return;
}
BaseImageItem bi = item as BaseImageItem; BaseImageItem bi = item as BaseImageItem;
if (bi != null) { if (bi != null) {
using (System.IO.MemoryStream memStream = new System.IO.MemoryStream()){ using (System.IO.MemoryStream memStream = new System.IO.MemoryStream()){
@ -71,6 +62,11 @@ namespace ICSharpCode.Reports.Core
bi.Image = image; bi.Image = image;
} }
} }
} else {
if (item != null) {
item.DBValue = row[item.ColumnName].ToString();
return;
}
} }
} }
} }

16
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IDataViewStrategy.cs

@ -18,7 +18,7 @@ namespace ICSharpCode.Reports.Core{
void Bind(); void Bind();
void Fill (IReportItem item); void Fill (IDataItem item);
//test //test
CurrentItemsCollection FillDataRow(); CurrentItemsCollection FillDataRow();
// //
@ -28,21 +28,11 @@ namespace ICSharpCode.Reports.Core{
int CurrentPosition {get;set;} int CurrentPosition {get;set;}
bool HasMoreData { bool HasMoreData {get;}
get;
}
bool IsSorted {get;} bool IsSorted {get;}
/*
bool IsFiltered{get;}
*/
bool IsGrouped {get;set;} bool IsGrouped {get;set;}
/*
bool HasChildren {get;}
IndexList ChildRows {get;}
*/
} }
} }

Loading…
Cancel
Save