From 42ec03473b2aa79e44a227a46b8bc226d00ecfd5 Mon Sep 17 00:00:00 2001 From: Peter Forstmeier Date: Mon, 12 Apr 2010 17:59:24 +0000 Subject: [PATCH] =?UTF-8?q?Patch=20from=20Andreas=20Sch=C3=B6nebeck=20"Col?= =?UTF-8?q?lectionStrategy=20returns=20ErrorMessage=20in=20BaseDataItem.DB?= =?UTF-8?q?Value=20if=20ColumnName=20not=20exist"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@5696 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../ListStrategy/CollectionStrategy.cs | 7 +++++-- .../DataManager/IListDataManagerFixture.cs | 16 ++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/CollectionStrategy.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/CollectionStrategy.cs index 3334dca3514..1063bbf4557 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/CollectionStrategy.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/CollectionStrategy.cs @@ -257,8 +257,11 @@ public override void Fill(IReportItem item) 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; } diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/IListDataManagerFixture.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/IListDataManagerFixture.cs index 52ec6f35260..63d38f95e71 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/IListDataManagerFixture.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/IListDataManagerFixture.cs @@ -83,6 +83,22 @@ public void DataNavigatorCorrectPosition () "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 ()