Browse Source

Patch from Andreas Schönebeck "CollectionStrategy returns ErrorMessage in BaseDataItem.DBValue if ColumnName not exist"

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@5696 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
Peter Forstmeier 16 years ago
parent
commit
42ec03473b
  1. 7
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/CollectionStrategy.cs
  2. 16
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/IListDataManagerFixture.cs

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

@ -257,8 +257,11 @@ namespace ICSharpCode.Reports.Core { @@ -257,8 +257,11 @@ namespace ICSharpCode.Reports.Core {
BaseDataItem baseDataItem = item as BaseDataItem;
if (baseDataItem != null) {
PropertyDescriptor p = this.listProperties.Find(baseDataItem.ColumnName, true);
baseDataItem.DBValue = "";
baseDataItem.DBValue = p.GetValue(this.Current).ToString();
if (p != null) {
baseDataItem.DBValue = p.GetValue(this.Current).ToString();
} else {
baseDataItem.DBValue = string.Format("<{0}> missing!", baseDataItem.ColumnName);
}
return;
}

16
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/IListDataManagerFixture.cs

@ -83,6 +83,22 @@ namespace ICSharpCode.Reports.Core.Test.DataManager @@ -83,6 +83,22 @@ namespace ICSharpCode.Reports.Core.Test.DataManager
"CurrentRow should be -1");
}
[Test]
public void DataNavigator_Return_ErrMessage_If_ColumnName_NotExist ()
{
IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection as System.Collections.IList,new ReportSettings());
IDataNavigator dataNav = dm.GetNavigator;
BaseDataItem item = new BaseDataItem();
item.ColumnName = "ColumnNotExist";
var items = new ReportItemCollection();
items.Add(item);
dataNav.Fill(items);
string str = "<" + item.ColumnName +">";
Assert.That(item.DBValue.Contains(str));
}
#region Standart Enumerator
[Test]
public void EnumeratorStartFromBegin ()

Loading…
Cancel
Save