Welcome to the Xceed Community | Help
Community Search  
More Search Options

NullReferenceException (ClearContainerForItemOverride) in Datagrid 4.3

Sort Posts: Previous Next
  •  02-12-2012, 4:58 AM Post no. 31670

    NullReferenceException (ClearContainerForItemOverride) in Datagrid 4.3

    Hi Xceed,

    With the Datagrid v4.3.12074.17240 of the DataGrid, a user reported me an NullReferenceException with the following stack trace.

    What do you think about that?

    Thanks

    Cyber Sinh 

     

    Une exception de type 'System.NullReferenceException' a été levée :
    La référence d'objet n'est pas définie à une instance d'un objet.

    à Xceed.Wpf.DataGrid.DataGridControl.ClearContainerForItemOverride(DependencyObject element, Object item)
    à Xceed.Wpf.DataGrid.CustomItemContainerGenerator.RemoveContainer(DependencyObject container, Object dataItem)
    à Xceed.Wpf.DataGrid.CustomItemContainerGenerator.RemoveAllGeneratedItems(Boolean itemsSourceChanged)
    à Xceed.Wpf.DataGrid.CustomItemContainerGenerator.HandleGlobalItemsReset(Boolean itemsSourceChanged)
    à Xceed.Wpf.DataGrid.CustomItemContainerGenerator.OnItemsChanged(Object sender, NotifyCollectionChangedEventArgs e)
    à Xceed.Wpf.DataGrid.CustomItemContainerGenerator.System.Windows.IWeakEventListener.ReceiveWeakEvent(Type managerType, Object sender, EventArgs e)
    à System.Windows.WeakEventManager.DeliverEventToList(Object sender, EventArgs args, ListenerList list)
    à System.Windows.WeakEventManager.DeliverEvent(Object sender, EventArgs args)
    à System.Collections.Specialized.CollectionChangedEventManager.OnCollectionChanged(Object sender, NotifyCollectionChangedEventArgs args)
    à System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
    à System.Windows.Data.CollectionView.OnCollectionChanged(NotifyCollectionChangedEventArgs args)
    à System.Windows.Controls.ItemCollection.System.Windows.IWeakEventListener.ReceiveWeakEvent(Type managerType, Object sender, EventArgs e)
    à System.Windows.WeakEventManager.DeliverEventToList(Object sender, EventArgs args, ListenerList list)
    à System.Windows.WeakEventManager.DeliverEvent(Object sender, EventArgs args)
    à System.Collections.Specialized.CollectionChangedEventManager.OnCollectionChanged(Object sender, NotifyCollectionChangedEventArgs args)
    à System.Windows.Data.CollectionView.OnCollectionChanged(NotifyCollectionChangedEventArgs args)
    à Xceed.Wpf.DataGrid.DataGridCollectionViewBase.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
    à Xceed.Wpf.DataGrid.DataGridCollectionView.ForceRefresh(Boolean sendResetNotification, Boolean initialLoad, Boolean setCurrentToFirstOnInitialLoad)
    à Xceed.Wpf.DataGrid.DataGridCollectionViewBase.Refresh()

     

  •  02-14-2012, 10:49 AM Post no. 31683 in reply to 31670

    Re: NullReferenceException (ClearContainerForItemOverride) in Datagrid 4.3

    Hi Cyber Sinh, 

    Could you give us more information on the status of the DataGrid when the exception was thrown? Was it while changing an item source, sorting, grouping, editing, etc...?  


    Best Regards,

    Michel Dahdah
    Technical Support
    Xceed Software inc.
  •  02-14-2012, 11:36 AM Post no. 31684 in reply to 31683

    Re: NullReferenceException (ClearContainerForItemOverride) in Datagrid 4.3

    I don't know the context when that exception has been thrown. Sorry.

     

  •  05-28-2012, 8:10 PM Post no. 32159 in reply to 31684

    Re: NullReferenceException (ClearContainerForItemOverride) in Datagrid 4.3

    The issue seems to happen in the last Datagrid (4.3.12267.13420) when binded items are removed from an ObservableCollection (OnCollectionChanged).
  •  05-28-2012, 10:10 PM Post no. 32163 in reply to 32159

    Re: NullReferenceException (ClearContainerForItemOverride) in Datagrid 4.3

    Hi Cyber Sinh,

    Are you able to replicate this issue on a smaller scale? Do you refresh the DataGridCollectionView when you are removing items from the ObservableCollection?


    Marc

    Developer in Technical Support
    Xceed - Multi-talented components - http://xceed.com
  •  05-29-2012, 6:10 AM Post no. 32169 in reply to 32163

    Re: NullReferenceException (ClearContainerForItemOverride) in Datagrid 4.3

    Are you able to replicate this issue on a smaller scale?
    Unfortunately no. 
     
    Do you refresh the DataGridCollectionView when you are removing items from the ObservableCollection? 
    No, the grid is not refreshed manually after removing items. The Datagrid seems to update everything (grouping, etc.) itself, thanks to INotifyCollectionChanged.
     
    Thanks for your help. 
     
    Here is the stack trace :
     
    Une exception de type 'System.NullReferenceException' a été levée : Object reference not set to an instance of an object.
    at Xceed.Wpf.DataGrid.DataGridControl.ClearContainerForItemOverride(DependencyObject element, Object item)
    at Xceed.Wpf.DataGrid.CustomItemContainerGenerator.RemoveContainer(DependencyObject container, Object dataItem)
    at Xceed.Wpf.DataGrid.CustomItemContainerGenerator.RemoveAllGeneratedItems(Boolean itemsSourceChanged)
    at Xceed.Wpf.DataGrid.CustomItemContainerGenerator.HandleGlobalItemsReset(Boolean itemsSourceChanged)
    at Xceed.Wpf.DataGrid.CustomItemContainerGenerator.OnItemsChanged(Object sender, NotifyCollectionChangedEventArgs e)
    at Xceed.Wpf.DataGrid.CustomItemContainerGenerator.System.Windows.IWeakEventListener.ReceiveWeakEvent(Type managerType, Object sender, EventArgs e)
    at System.Windows.WeakEventManager.DeliverEventToList(Object sender, EventArgs args, ListenerList list)
    at System.Windows.WeakEventManager.DeliverEvent(Object sender, EventArgs args)
    at System.Collections.Specialized.CollectionChangedEventManager.OnCollectionChanged(Object sender, NotifyCollectionChangedEventArgs args)
    at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
    at System.Windows.Data.CollectionView.OnCollectionChanged(NotifyCollectionChangedEventArgs args)
    at System.Windows.Controls.ItemCollection.System.Windows.IWeakEventListener.ReceiveWeakEvent(Type managerType, Object sender, EventArgs e)
    at System.Windows.WeakEventManager.DeliverEventToList(Object sender, EventArgs args, ListenerList list)
    at System.Windows.WeakEventManager.DeliverEvent(Object sender, EventArgs args)
    at System.Collections.Specialized.CollectionChangedEventManager.OnCollectionChanged(Object sender, NotifyCollectionChangedEventArgs args)
    at System.Windows.Data.CollectionView.OnCollectionChanged(NotifyCollectionChangedEventArgs args)
    at Xceed.Wpf.DataGrid.DataGridCollectionViewBase.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
    at Xceed.Wpf.DataGrid.DataGridCollectionView.ForceRefresh(Boolean sendResetNotification, Boolean initialLoad, Boolean setCurrentToFirstOnInitialLoad)
    at Xceed.Wpf.DataGrid.DataGridCollectionView.RemoveSourceItem(Int32 startIndex, Int32 count)
    at Xceed.Wpf.DataGrid.DataGridCollectionView.ExecuteSourceItemOperation(DeferredOperation deferredOperation, Boolean& refreshForced)
    at Xceed.Wpf.DataGrid.DataGridCollectionViewBase.ExecuteOrQueueSourceItemOperation(DeferredOperation deferredOperation)
    at Xceed.Wpf.DataGrid.DataGridCollectionViewBase.NotifyCollectionChanged_CollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
    at Xceed.Wpf.DataGrid.DataGridCollectionViewBase.System.Windows.IWeakEventListener.ReceiveWeakEvent(Type managerType, Object sender, EventArgs e)
    at System.Windows.WeakEventManager.DeliverEventToList(Object sender, EventArgs args, ListenerList list)
    at System.Windows.WeakEventManager.DeliverEvent(Object sender, EventArgs args)
    at System.Collections.Specialized.CollectionChangedEventManager.OnCollectionChanged(Object sender, NotifyCollectionChangedEventArgs args)

  •  05-29-2012, 7:14 PM Post no. 32172 in reply to 32169

    Re: NullReferenceException (ClearContainerForItemOverride) in Datagrid 4.3

    Hi,

    It seems as though when the collection view is getting refreshed, the grid is crashing. If you are not able to reproduce the issue, I would suggest using an older version that does work, such as the latest version of 4.2. This would obviously be until we can pin point what the exact cause of the issue is. Please let us know when you do find out so we can continue to investigate. Unfortunately, without a small self-contained sample application, we cannot determine what the cause of the error is and what the possible solution can be.


    Marc

    Developer in Technical Support
    Xceed - Multi-talented components - http://xceed.com
View as RSS news feed in XML
Contact | Site Map | Reviews | Legal Terms of Use | Trademarks | Privacy Statement Copyright 2011 Xceed Software Inc.