I've followed the example and created a RadGridView (2011.2.712.1040) using the standard technique for using Data Virtualization in the ItemsLoading method to call a RIA Services entity query and it works well, including Sorting and Custom Filters etc.
When you scroll the GridView down with the Scrollbar or mousewheel, the "yet to be loaded" items appear nice and quickly when demanded so all is well.....
However, I've just noticed that if I start an Extended Selection with the mouse and drag to the bottom to force it to scroll onwards to continue, it scrolls for a while then crashes out with an exception (presumably when it hits a non-loaded item in the virtual collection) ?
I was going to confirm this issue in the online DV demo, but unfortunately it's only a single selection mode in the demo. Could you check if this is reproducable/fixable? I think it's a clash between multi selection and the virtual collection.
Regards,
Rupert.
Message: Unhandled Error in Silverlight Application
Code: 4004
Category: ManagedRuntimeError
Message: System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
at System.ThrowHelper.ThrowArgumentOutOfRangeException()
at System.Collections.Generic.List`1.get_Item(Int32 index)
at System.Collections.ObjectModel.Collection`1.System.Collections.IList.get_Item(Int32 index)
at Telerik.Windows.Data.VirtualQueryableCollectionView.GetItemAt(Int32 index)
at Telerik.Windows.Data.DataItemCollection.get_Item(Int32 index)
at Telerik.Windows.Data.Selection.ItemSelectionHandler.MultiSelect(Object actionItem)
at Telerik.Windows.Data.Selection.ItemSelectionHandler.SelectRange(Object actionItem, Boolean cleanCurrentSelection)
at Telerik.Windows.Data.Selection.ItemSelectionHandler.PerformExtendedSelection(Object item, SelectionModificationOptions options)
at Telerik.Windows.Data.Selection.ItemSelectionHandler.PerformSelection(Object item, SelectionModificationOptions options)
at Telerik.Windows.Controls.GridView.Selection.CompositeSelectionHandler.PerformRowSelection(Object dataItem, SelectionModificationOptions modificationOptions)
at Telerik.Windows.Controls.GridView.Selection.CellAndRowSelectionDispatcher.HandleSelectionForValidRowInput(SelectionModificationOptions allowedModifications, GridViewRow row)
at Telerik.Windows.Controls.GridView.Selection.CellAndRowSelectionDispatcher.HandleSelectionForRowInput(GridViewRow row, SelectionModificationOptions allowedModifications)
at Telerik.Windows.Controls.GridView.Selection.SelectionDrag.TrySelectRowUnderMouse(Boolean scrollAdjusted)
at Telerik.Windows.Controls.GridView.Selection.SelectionDrag.TrySelectElementUnderMouse(Boolean scrollAdjusted)
at Telerik.Windows.Controls.GridView.Selection.SelectionDrag.ProcessMouseMove(Point newMousePosition, Boolean scrollAdjusted)
at Telerik.Windows.Controls.GridView.Selection.SelectionDrag.ScrollCoordinator_ScrollViewerAdjusted(Object sender, ScrollViewerAdjustedEventArgs e)
at Telerik.Windows.Controls.GridView.Scrolling.ScrollViewerCoordinator.OnScrollViewerAdjusted(Point adjustments)
at Telerik.Windows.Controls.GridView.Scrolling.ScrollViewerCoordinator.OnScrollViewerScrollChanged(Object sender, EventArgs e)
at Telerik.Windows.Controls.GridView.Scrolling.GridViewScrollViewerAdapter.OnScrollChanged(EventArgs args)
at Telerik.Windows.Controls.GridView.Scrolling.GridViewScrollViewerAdapter.<.ctor>b__0(Object s, EventArgs e)
at System.EventHandler.Invoke(Object sender, EventArgs e)
at Telerik.Windows.Controls.GridView.GridViewScrollViewer.OnScrollChanged(ScrollChangedEventArgs e)
at Telerik.Windows.Controls.GridView.GridViewScrollViewer.OnLayoutUpdated(Object sender, EventArgs e)
at System.Windows.FrameworkElement.OnLayoutUpdated(Object sender, EventArgs e)
at MS.Internal.JoltHelper.RaiseEvent(IntPtr target, UInt32 eventId, IntPtr coreEventArgs, UInt32 eventArgsTypeIndex)
Line: 56
Char: 13
Code: 0
URI: http://localhost:4920/CarzTestPage.aspx