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

Index was out of range. Must be non-negative and less than the size of the collection.

1 Answer 88 Views
ScheduleView
This is a migrated thread and some comments may be shown as answers.
nuno
Top achievements
Rank 1
nuno asked on 21 Dec 2010, 11:38 AM
Hello i am geting this excpetion when i am populating sheduleview from db. It is possible to bind a list with more than 250 or 300 appointments?  
Because I am getting this exception.
 
at System.ThrowHelper.ThrowArgumentOutOfRangeException()
   at System.Collections.Generic.List`1.get_Item(Int32 index)
   at Telerik.Windows.Controls.AppointmentsHelper.SplitToColumns(AppointmentSlotGroupInfo groupInfo, Boolean roundAppointmentDurationToDay) in c:\Builds\WPF_Scrum\Release_WPF_2010_Q3\Sources\Development\Controls\ScheduleView\ScheduleView\Helpers\AppointmentsHelper.cs:line 330
   at Telerik.Windows.Controls.GroupHeader.CalculateAppointmentItemRenderRectangle() in c:\Builds\WPF_Scrum\Release_WPF_2010_Q3\Sources\Development\Controls\ScheduleView\ScheduleView\Controls\GroupHeader.cs:line 565
   at Telerik.Windows.Controls.GroupHeader.set_CalculatedChildrenLength(Double value) in c:\Builds\WPF_Scrum\Release_WPF_2010_Q3\Sources\Development\Controls\ScheduleView\ScheduleView\Controls\GroupHeader.cs:line 200
   at Telerik.Windows.Controls.GroupHeader.SetAvailableLength(Double availableLength, Boolean isHorizontal) in c:\Builds\WPF_Scrum\Release_WPF_2010_Q3\Sources\Development\Controls\ScheduleView\ScheduleView\Controls\GroupHeader.cs:line 459
   at Telerik.Windows.Controls.AppointmentsPanel.UpdateHeaderAvailableSize(List`1 headers, Boolean isHorizontal, Double availableLength, Boolean initialize, Boolean updateDesiredLengthForLevel) in c:\Builds\WPF_Scrum\Release_WPF_2010_Q3\Sources\Development\Controls\ScheduleView\ScheduleView\Controls\AppointmentsPanel.cs:line 617
   at Telerik.Windows.Controls.AppointmentsPanel.MeasureOverride(Size availableSize) in c:\Builds\WPF_Scrum\Release_WPF_2010_Q3\Sources\Development\Controls\ScheduleView\ScheduleView\Controls\AppointmentsPanel.cs:line 139
   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
   at System.Windows.UIElement.Measure(Size availableSize)
   at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)
   at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV)
   at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
   at System.Windows.UIElement.Measure(Size availableSize)
   at System.Windows.ContextLayoutManager.UpdateLayout()
   at System.Windows.UIElement.UpdateLayout()
   at Telerik.Windows.Media.Imaging.ExportHelper.GetBitmapSource(FrameworkElement element, Double dpiX, Double dpiY) in c:\Builds\WPF_Scrum\Release_WPF_2010_Q3\Sources\Development\Core\Controls\ExportExtensions\ExportHelper.cs:line 85
   at Telerik.Windows.Media.Imaging.ExportHelper.GetElementImage(FrameworkElement element) in c:\Builds\WPF_Scrum\Release_WPF_2010_Q3\Sources\Development\Core\Controls\ExportExtensions\ExportHelper.cs:line 63
   at Telerik.Windows.Controls.TransitionControl.TransitionPresenter.PrepareAnimation() in c:\Builds\WPF_Scrum\Release_WPF_2010_Q3\Sources\Development\Core\Controls\TransitionControl\TransitionPresenter.cs:line 341
   at Telerik.Windows.Controls.TransitionControl.TransitionPresenter.ChangeContent() in c:\Builds\WPF_Scrum\Release_WPF_2010_Q3\Sources\Development\Core\Controls\TransitionControl\TransitionPresenter.cs:line 426
   at Telerik.Windows.Controls.TransitionControl.TransitionPresenter.OnContentChange(DependencyObject d, DependencyPropertyChangedEventArgs e) in c:\Builds\WPF_Scrum\Release_WPF_2010_Q3\Sources\Development\Core\Controls\TransitionControl\TransitionPresenter.cs:line 381
   at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
   at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
   at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)
   at Telerik.Windows.Controls.TransitionControl.TransitionPresenter.set_CurrentContent(Object value) in c:\Builds\WPF_Scrum\Release_WPF_2010_Q3\Sources\Development\Core\Controls\TransitionControl\TransitionPresenter.cs:line 161
   at Telerik.Windows.Controls.RadTransitionControl.OnContentChanged(Object oldContent, Object newContent) in c:\Builds\WPF_Scrum\Release_WPF_2010_Q3\Sources\Development\Core\Controls\TransitionControl\RadTransitionControl.cs:line 168
   at System.Windows.Controls.ContentControl.OnContentChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
   at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   at System.Windows.DependencyObject.InvalidateProperty(DependencyProperty dp)
   at System.Windows.StyleHelper.InvalidateDependents(Style ownerStyle, FrameworkTemplate frameworkTemplate, DependencyObject container, DependencyProperty dp, FrugalStructList`1& dependents, Boolean invalidateOnlyContainer)
   at System.Windows.StyleHelper.OnTriggerSourcePropertyInvalidated(Style ownerStyle, FrameworkTemplate frameworkTemplate, DependencyObject container, DependencyProperty dp, DependencyPropertyChangedEventArgs changedArgs, Boolean invalidateOnlyContainer, FrugalStructList`1& triggerSourceRecordFromChildIndex, FrugalMap& propertyTriggersWithActions, Int32 sourceChildIndex)
   at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
   at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
   at System.Windows.DependencyObject.SetValue(DependencyPropertyKey key, Object value)
   at Telerik.Windows.Controls.RadScheduleView.set_CurrentVisibleRangeText(String value) in c:\Builds\WPF_Scrum\Release_WPF_2010_Q3\Sources\Development\Controls\ScheduleView\ScheduleView\Controls\RadScheduleView.cs:line 94
   at Telerik.Windows.Controls.RadScheduleView.UpdateCurrentVisibleRangeText() in c:\Builds\WPF_Scrum\Release_WPF_2010_Q3\Sources\Development\Controls\ScheduleView\ScheduleView\Controls\RadScheduleView.cs:line 136
   at Telerik.Windows.Controls.RadScheduleView.UpdateVisibleRange() in c:\Builds\WPF_Scrum\Release_WPF_2010_Q3\Sources\Development\Controls\ScheduleView\ScheduleView\Controls\RadScheduleView.cs:line 178
   at Telerik.Windows.Controls.ScheduleViewBase.OnCurrentDatePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) in c:\Builds\WPF_Scrum\Release_WPF_2010_Q3\Sources\Development\Controls\ScheduleView\ScheduleView\Controls\ScheduleView.cs:line 2719
   at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
   at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
   at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)
   at MS.Internal.Data.PropertyPathWorker.SetValue(Object item, Object value)
   at MS.Internal.Data.ClrBindingWorker.UpdateValue(Object value)
   at System.Windows.Data.BindingExpression.UpdateSource(Object value)

1 Answer, 1 is accepted

Sort by
0
Boyan
Telerik team
answered on 27 Dec 2010, 10:04 AM
Hi Nuno Cruz,

Yes, It is possible to bind more than 300 appointments. However I can't figure out what might be the problem from the StackTrace. Could you please send us a code snippet how you are populating the RadScheduleView. It will be of great help for us to be able to localize the problem.

All the best,
Boyan
the Telerik team
Browse the videos here>> to help you get started with RadControls for WPF
Tags
ScheduleView
Asked by
nuno
Top achievements
Rank 1
Answers by
Boyan
Telerik team
Share this question
or