This is a migrated thread and some comments may be shown as answers.

[Solved] InvalidOperationException when assigning a services result to the gridview.

1 Answer 157 Views
GridView
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
Sven
Top achievements
Rank 1
Sven asked on 15 Nov 2010, 04:55 PM
In the Code-Behind file I am doing the following:

MyGridView.ItemsSource = result;

Perhaps this is causing the problem. But I dont know for sure as this error is only occurring very seldom and is not reproducible.

InvalidOperationException: Cannot change ObservableCollection during a CollectionChanged or PropertyChanged event.
Stacktrace:
   at System.Collections.ObjectModel.ObservableCollection`1.CheckReentrancy()
   at System.Collections.ObjectModel.ObservableCollection`1.ClearItems()
   at Telerik.Windows.Data.RadObservableCollection`1.ClearItems()
   at Telerik.Windows.Data.ObservableItemCollection`1.ClearItems()
   at System.Collections.ObjectModel.Collection`1.Clear()
   at Telerik.Windows.Data.CollectionHelper.Reset(IEnumerable source, IList target)
   at Telerik.Windows.Data.CollectionHelper.Synchronize(NotifyCollectionChangedEventArgs e, IEnumerable source, IList target)
   at Telerik.Windows.Data.DataItemCollection.UpdateCollectionViewSortDescriptors(NotifyCollectionChangedEventArgs e, IEnumerable source)
   at Telerik.Windows.Data.DataItemCollection.OnSourceSortDescriptionsChanged(NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Data.DataItemCollection.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(Object sender, NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Data.WeakEvent.WeakListener`1.Handler(Object sender, TArgs args)
   at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
   at System.ComponentModel.SortDescriptionCollection.OnCollectionChanged(NotifyCollectionChangedAction action)
   at System.ComponentModel.SortDescriptionCollection.ClearItems()
   at System.Collections.ObjectModel.Collection`1.Clear()
   at Telerik.Windows.Data.CollectionHelper.Reset(IEnumerable source, IList target)
   at Telerik.Windows.Data.CollectionHelper.Synchronize(NotifyCollectionChangedEventArgs e, IEnumerable source, IList target)
   at Telerik.Windows.Data.DataItemCollection.UpdateSourceCollectionSortDescriptions(NotifyCollectionChangedEventArgs e, IEnumerable source)
   at Telerik.Windows.Data.DataItemCollection.OnCollectionViewSortDescriptorsCollectionChanged(NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Data.DataItemCollection.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(Object sender, NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Data.WeakEvent.WeakListener`1.Handler(Object sender, TArgs args)
   at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
   at System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Data.RadObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   at System.Collections.ObjectModel.ObservableCollection`1.ClearItems()
   at Telerik.Windows.Data.RadObservableCollection`1.ClearItems()
   at Telerik.Windows.Data.ObservableItemCollection`1.ClearItems()
   at System.Collections.ObjectModel.Collection`1.Clear()
   at Telerik.Windows.Data.CollectionHelper.Reset(IEnumerable source, IList target)
   at Telerik.Windows.Data.CollectionHelper.Synchronize(NotifyCollectionChangedEventArgs e, IEnumerable source, IList target)
   at Telerik.Windows.Data.DataItemCollection.UpdateCollectionViewSortDescriptors(NotifyCollectionChangedEventArgs e, IEnumerable source)
   at Telerik.Windows.Data.DataItemCollection.OnSortDescriptionsCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
   at System.ComponentModel.SortDescriptionCollection.OnCollectionChanged(NotifyCollectionChangedAction action)
   at System.ComponentModel.SortDescriptionCollection.ClearItems()
   at System.Collections.ObjectModel.Collection`1.Clear()
   at Telerik.Windows.Data.CollectionHelper.Reset(IEnumerable source, IList target)
   at Telerik.Windows.Data.CollectionHelper.Synchronize(NotifyCollectionChangedEventArgs e, IEnumerable source, IList target)
   at Telerik.Windows.Data.DataItemCollection.UpdateSortDescriptions(NotifyCollectionChangedEventArgs e, IEnumerable source)
   at Telerik.Windows.Data.DataItemCollection.OnSourceSortDescriptionsChanged(NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Data.DataItemCollection.UpdateDescriptorsState()
   at Telerik.Windows.Data.DataItemCollection.SetItemsSource(IEnumerable source)
   at Telerik.Windows.Controls.GridView.GridViewDataControl.<>c__DisplayClass49.<Bind>b__48()
   at Telerik.Windows.Controls.CursorManager.PerformTimeConsumingOperation(FrameworkElement frameworkElement, Action action)
   at Telerik.Windows.Controls.GridView.GridViewDataControl.Bind(Object newValue)
   at Telerik.Windows.Controls.GridView.GridViewDataControl.OnItemsSourceChanged(Object oldValue, Object newValue)
   at Telerik.Windows.Controls.DataControl.OnItemsSourcePropertyChanged(DependencyObject origin, DependencyPropertyChangedEventArgs args)
   at Telerik.Windows.PropertyMetadata.<>c__DisplayClass1.<Create>b__0(DependencyObject d, DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.RaisePropertyChangeNotifications(DependencyProperty dp, Object oldValue, Object newValue)
   at System.Windows.DependencyObject.UpdateEffectiveValue(DependencyProperty property, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, ValueOperation operation)
   at System.Windows.DependencyObject.SetValueInternal(DependencyProperty dp, Object value, Boolean allowReadOnlySet)
   at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)
   at Telerik.Windows.Controls.DataControl.set_ItemsSource(Object value)
   at Screens.Calendar.FindSomething_Completed(Object sender, findSomethingCompletedEventArgs e)
   at Services.MaServicePortTypeClient.OnfindSomethingCompleted(Object state)
Any idea how someone can prevent this kind of exception? Greetings Sven

1 Answer, 1 is accepted

Sort by
0
Veselin Vasilev
Telerik team
answered on 15 Nov 2010, 05:19 PM
Hello Sven,

Please provide more details about your scenario. Do you use WCF Services or RIA Services?

Are you able to isolate the problem in a simple project? If so - please send it via a private support ticket so we can have a closer look.

Thanks

Greetings,
Veselin Vasilev
the Telerik team
See What's New in RadControls for Silverlight in Q3 2010 on Tuesday, November 16, 2010 11:00 AM - 12:00 PM EST or 10:00 PM - 11:00 PM EST: Register here>>
Tags
GridView
Asked by
Sven
Top achievements
Rank 1
Answers by
Veselin Vasilev
Telerik team
Share this question
or