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

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

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

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

@ -0,0 +1,32 @@ @@ -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 @@ -40,13 +40,11 @@ namespace ICSharpCode.Reports.Core
return inheritedReportItems;
}
#region IDataNavigator implementation
public void Fill (ReportItemCollection collection) {
Collection<BaseDataItem> filteredCollection = ExtraxtDataItems(collection);
foreach (BaseReportItem item in filteredCollection) {
foreach (IDataItem item in collection) {
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 { @@ -113,7 +113,6 @@ namespace ICSharpCode.Reports.Core {
Console.WriteLine("---- {0}",c.ObjectArray[0]);
}
}
//
}
}
@ -240,9 +239,9 @@ namespace ICSharpCode.Reports.Core { @@ -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 { @@ -195,23 +195,14 @@ namespace ICSharpCode.Reports.Core {
public override void Bind()
{
base.Bind();
/*
if (base.ReportSettings.GroupColumnsCollection.Count > 0) {
// this.Group ();
Reset();
return;
}
*/
if (base.ReportSettings.SortColumnsCollection != null) {
this.Sort ();
}
Reset();
}
public override void Fill(IReportItem item)
public override void Fill(IDataItem item)
{
base.Fill(item);
if (current != null) {
BaseDataItem baseDataItem = item as BaseDataItem;
if (baseDataItem != null) {

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

@ -44,19 +44,10 @@ namespace ICSharpCode.Reports.Core @@ -44,19 +44,10 @@ namespace ICSharpCode.Reports.Core
}
public override void Fill(IReportItem item)
public override void Fill(IDataItem item)
{
base.Fill(item);
DataRow row = this.Current as DataRow;
if (row != null) {
BaseDataItem baseDataItem = item as BaseDataItem;
if (baseDataItem != null) {
baseDataItem.DBValue = row[baseDataItem.ColumnName].ToString();
return;
}
BaseImageItem bi = item as BaseImageItem;
if (bi != null) {
using (System.IO.MemoryStream memStream = new System.IO.MemoryStream()){
@ -71,6 +62,11 @@ namespace ICSharpCode.Reports.Core @@ -71,6 +62,11 @@ namespace ICSharpCode.Reports.Core
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{ @@ -18,7 +18,7 @@ namespace ICSharpCode.Reports.Core{
void Bind();
void Fill (IReportItem item);
void Fill (IDataItem item);
//test
CurrentItemsCollection FillDataRow();
//
@ -28,21 +28,11 @@ namespace ICSharpCode.Reports.Core{ @@ -28,21 +28,11 @@ namespace ICSharpCode.Reports.Core{
int CurrentPosition {get;set;}
bool HasMoreData {
get;
}
bool HasMoreData {get;}
bool IsSorted {get;}
/*
bool IsFiltered{get;}
*/
bool IsGrouped {get;set;}
/*
bool HasChildren {get;}
IndexList ChildRows {get;}
*/
}
}

Loading…
Cancel
Save