Declined
Last Updated: 12 May 2026 14:06 by ADMIN
Created by: Luis
Comments: 2
Category: CollectionView
Type: Bug Report
1

We've got a CollectionView which shows a list of grouped items (grouping can be by date or other values - but date is the default).

The CollectionView items source is bound to an observable collection, and when the viewmodel saw an item removed from the observable collection, the Telerik control crashed.  We've seen instances of this app crash on Android (the same control hasn't been released to other platforms yet). We do not have reproduction steps as this is a rare issue, but it feels like it is worth communicating as you might be able to spot what is going on from your end.

System.ArgumentException: Arg_MustBeDateTime
  at int DateTime.CompareTo(object value)()
  at int Comparer.Compare(object a, object b)()
  at int SortFieldComparer.Compare(object o1, object o2)()
  at int ArraySortHelper<object>.InternalBinarySearch(object[], int, int, object, IComparer<object>)()
  at int ArraySortHelper<object>.BinarySearch(object[], int, int, object, IComparer<object>)()
System.InvalidOperationException: InvalidOperation_IComparerFailed
  at int ArraySortHelper<object>.BinarySearch(object[], int, int, object, IComparer<object>)()
  at int Array.BinarySearch<object>(object[] array, int index, int length, object value, IComparer<object> comparer)()
  at int List<object>.BinarySearch(int, int, object, IComparer<object>) x 2()
  at int Group.IndexOf(object item, IComparer<object> sortComparer)()
  at Tuple<Group, int> ParallelDataEngine.FindGroupAndItemIndex(IValueProvider valueProvider, Group rowRootGroup, object item, int index, bool exhaustiveSearch, bool canUseComparer)()
  at AddRemoveItemResult ParallelDataEngine.RemoveItem(IAggregateResultProvider aggregateResultProvider, IValueProvider valueProvider, Group rowRootGroup, Group columnRootGroup, object item, int index, bool exhaustiveSearch, bool canUseComparer)()
  at List<AddRemoveResult> ParallelDataEngine.Process(int index, IEnumerable items, bool remove, bool removeFilteredItem, bool canUseComparer)()
  at List<AddRemoveResult> ParallelDataEngine.Telerik.Maui.Data.IDataEngine.RemoveItems(int index, IEnumerable items, bool removeFilteredItem, bool canUseComparer)()
  at List<AddRemoveResult> LocalDataSourceProvider.RemoveItems(int oldStartingIndex, IList oldItems, NotifyCollectionChangedEventArgs e, bool doExhaustiveSearch, bool canUseComparer)()
  at void LocalDataSourceProvider.ProcessCollectionChanged(NotifyCollectionChangedEventArgs e)()
  at void LocalDataSourceProvider.DataView_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)()
  at void EnumerableDataSourceView.RaiseCollectionChanged(object sender, NotifyCollectionChangedEventArgs args)()
  at void EnumerableDataSourceView.ProcessCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)()
  at void EnumerableDataSourceView.ProcessCollectionChangedOverride(object sender, NotifyCollectionChangedEventArgs args)()
  at void EnumerableDataSourceView.ProcessPendingCollectionChange()()
  at void DataProviderBase.RaiseViewChanging(object sender, IList changedItems, CollectionChange action)()
  at void LocalDataSourceProvider.DataView_CollectionChanging(object sender, NotifyCollectionChangedEventArgs e)()
  at void EnumerableDataSourceView.RaiseCollectionChanging(object sender, NotifyCollectionChangedEventArgs args)()
  at void EnumerableDataSourceView.HandleCollectionChangedOverride(object sender, NotifyCollectionChangedEventArgs e)()
  at void EnumerableDataSourceView.Telerik.Maui.IWeakEventListener.ReceiveEvent(object sender, object args)()
  at void WeakEventHandlerList<NotifyCollectionChangedEventArgs>.ProcessEvent(object sender, object args)()
  at void WeakEventHandlerList<NotifyCollectionChangedEventArgs>.OnCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)()
  at void ObservableCollection<IWorkItemListItem>.OnCollectionChanged(NotifyCollectionChangedEventArgs) x 2()
  at void ObservableCollection<IWorkItemListItem>.RemoveItem(int)()
  at bool Collection<IWorkItemListItem>.Remove(IWorkItemListItem)()

any ideas on what might be going on here?

Declined
Last Updated: 13 Oct 2025 11:46 by ADMIN
Created by: axp
Comments: 4
Category: CollectionView
Type: Bug Report
1
  1. Unexpected indent at the right, Android/iOS.
  2. iOS only issue - width of CollectionView content continuously changes during scroll - to fill that ident and back.
Declined
Last Updated: 12 May 2025 06:29 by ADMIN
Created by: Malcolm
Comments: 20
Category: CollectionView
Type: Bug Report
3
Our error reporting is getting multiple of these crashes:
Message: Object reference not set to an instance of an object
Telerik.Maui.Data.LocalDataSourceProvider.ProcessCollectionChanged(NotifyCollectionChangedEventArgs e)
Telerik.Maui.Data.LocalDataSourceProvider.ProcessPendingChanges()
Telerik.Maui.Data.LocalDataSourceProvider.OnCompleted(Object sender, DataEngineCompletedEventArgs e)
Telerik.Maui.Data.ParallelDataEngine.RaiseCompleted(DataEngineCompletedEventArgs args)
Telerik.Maui.Data.ParallelDataEngine.ProcessBottomLevelsParallel(Task`1 bottomLevelResultsTask, ParallelState parallelState)
Telerik.Maui.Data.ParallelDataEngine+<>c__DisplayClass102_0.<BeginParallelProcessing>b__1(Task`1 task)
System.Threading.Tasks.ContinuationTaskFromResultTask`1[[Telerik.Maui.Data.ParallelDataEngine+GroupingResults, Telerik.Maui.Core, Version=10.0.0.0, Culture=neutral, PublicKeyToken=5803cfa389c90ce7]].InnerInvoke()
System.Threading.Tasks.Task+<>c.<.cctor>b__292_0(Object obj)
System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread , ExecutionContext , ContextCallback , Object )
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread , ExecutionContext , ContextCallback , Object )
System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& , Thread )

unfortunately we don't have a repro for this crash just yet.

It does look like it's occuring on iOS only.
Declined
Last Updated: 14 Aug 2024 07:48 by ADMIN

As the Subject says - the CollectionView FooterTemplate Content IsVisible Property is ignored.
First i thought Binding update is not working, but it's not working at all, even if set "hard"

Take your Header & Footer CollectionView example and set IsVisible to false on the Grid