使用隐藏列滚动RadDataGrid会引发错误

时间:2018-02-22 18:31:00

标签: uwp telerik-grid uwp-xaml

我的DataGrid有隐藏的列。如果我在“取消隐藏”列之前尝试水平滚动到表的末尾,则会出现以下错误。有人可以帮忙吗?

{Windows.UI.Xaml.UnhandledExceptionEventArgs}     例外:{System.IndexOutOfRangeException:索引超出了数组的范围。    在Telerik.UI.Xaml.Controls.Grid.IndexStorage.ValueForIndex(Int32索引,布尔近似)    在Telerik.UI.Xaml.Controls.Grid.CellsController 1.UpdateSlotWidth(Int32 cellSlot, Double cellWidth) at Telerik.UI.Xaml.Controls.Grid.Model.GridModel.Telerik.UI.Xaml.Controls.Grid.ITable.GenerateCellsForColumn(Int32 columnSlot, Double largestColumnElementWidth, IItemInfoNode columnDecorator) at Telerik.UI.Xaml.Controls.Grid.NodePool 2.GenerateCellsForLine(Int32 slot,Double largestLength,T lastElement)    在Telerik.UI.Xaml.Controls.Grid.NodePool 2.GenerateContainer(IList 1 itemInfos)    在Telerik.UI.Xaml.Controls.Grid.NodePool 2.MeasureForward(MeasureContext& context) at Telerik.UI.Xaml.Controls.Grid.NodePool 2.MeasureHorizo​​ntally(RadSize availableSize,Double offset,Int32 frozenElementsCount)    at Telerik.UI.Xaml.Controls.Grid.NodePool 2.OnMeasure(RadSize availableSize, Double offset, Int32 frozenElementsCount, Double verticalBufferScale) at Telerik.UI.Xaml.Controls.Grid.Model.GridModel.MeasureHeaderRow(RadSize newAvailableSize) at Telerik.UI.Xaml.Controls.Grid.RadDataGrid.OnHeaderRowMeasure(RadSize newAvailableSize) at Telerik.UI.Xaml.Controls.Grid.Primitives.DataGridColumnHeaderPanel.Measure() at Telerik.UI.Xaml.Controls.Grid.RadDataGrid.SetHorizontalOffset(Double physicalOffset, Boolean updateUI, Boolean updateScrollViewer) at Telerik.UI.Xaml.Controls.Grid.RadDataGrid.UpdateScrollOffsetOnRendering() at Telerik.UI.Xaml.Controls.Grid.RadDataGrid.CompositionTarget_Rendering(Object sender, Object e)} Handled: false Message: "System.IndexOutOfRangeException: Index was outside the bounds of the array.\r\n at Telerik.UI.Xaml.Controls.Grid.IndexStorage.ValueForIndex(Int32 index, Boolean approximate)\r\n at Telerik.UI.Xaml.Controls.Grid.CellsController 1.UpdateSlotWidth(Int32 cellSlot,Double cellWidth)\ r \ n在Telerik.UI.Xaml.Controls.Grid.Model.GridModel.Telerik.UI。 Telerik.UI.Xaml.Controls.Grid中的Xaml.Controls.Grid.ITable.GenerateCellsForColumn(Int32 columnSlot,Double largestColumnElementWidth,IItemInfoNode columnDecorator)\ r \ n。“     本机视图:要检查本机对象,请启用本机代码调试。 ? Ë {} Windows.UI.Xaml.UnhandledExceptionEventArgs     例外:{System.IndexOutOfRangeException:索引超出了数组的范围。    在Telerik.UI.Xaml.Controls.Grid.IndexStorage.ValueForIndex(Int32索引,布尔近似)    在Telerik.UI.Xaml.Controls.Grid.CellsController 1.UpdateSlotWidth(Int32 cellSlot, Double cellWidth) at Telerik.UI.Xaml.Controls.Grid.Model.GridModel.Telerik.UI.Xaml.Controls.Grid.ITable.GenerateCellsForColumn(Int32 columnSlot, Double largestColumnElementWidth, IItemInfoNode columnDecorator) at Telerik.UI.Xaml.Controls.Grid.NodePool 2.GenerateCellsForLine(Int32 slot,Double largestLength,T lastElement)    在Telerik.UI.Xaml.Controls.Grid.NodePool 2.GenerateContainer(IList 1 itemInfos)    在Telerik.UI.Xaml.Controls.Grid.NodePool 2.MeasureForward(MeasureContext& context) at Telerik.UI.Xaml.Controls.Grid.NodePool 2.MeasureHorizo​​ntally(RadSize availableSize,Double offset,Int32 frozenElementsCount)    at Telerik.UI.Xaml.Controls.Grid.NodePool 2.OnMeasure(RadSize availableSize, Double offset, Int32 frozenElementsCount, Double verticalBufferScale) at Telerik.UI.Xaml.Controls.Grid.Model.GridModel.MeasureHeaderRow(RadSize newAvailableSize) at Telerik.UI.Xaml.Controls.Grid.RadDataGrid.OnHeaderRowMeasure(RadSize newAvailableSize) at Telerik.UI.Xaml.Controls.Grid.Primitives.DataGridColumnHeaderPanel.Measure() at Telerik.UI.Xaml.Controls.Grid.RadDataGrid.SetHorizontalOffset(Double physicalOffset, Boolean updateUI, Boolean updateScrollViewer) at Telerik.UI.Xaml.Controls.Grid.RadDataGrid.UpdateScrollOffsetOnRendering() at Telerik.UI.Xaml.Controls.Grid.RadDataGrid.CompositionTarget_Rendering(Object sender, Object e)} Handled: false Message: "System.IndexOutOfRangeException: Index was outside the bounds of the array.\r\n at Telerik.UI.Xaml.Controls.Grid.IndexStorage.ValueForIndex(Int32 index, Boolean approximate)\r\n at Telerik.UI.Xaml.Controls.Grid.CellsController 1.UpdateSlotWidth(Int32 cellSlot,Double cellWidth)\ r \ n在Telerik.UI.Xaml.Controls.Grid.Model.GridModel.Telerik.UI。在Telerik.UI.Xaml.Controls.Grid中的Xaml.Controls.Grid.ITable.GenerateCellsForColumn(Int32 columnSlot,Double largestColumnElementWidth,IItemInfoNode columnDecorator)\ r \ n。“

这是XAML:

<tg:RadDataGrid>
<tg:RadDataGrid.Columns>
    <tg:DataGridTextColumn PropertyName="Number"
                                     Header="Number"
                                     SizeMode="Auto"/>
    <tg:DataGridTextColumn PropertyName="BaseText"
                                     Header="Base Text"
                                     SizeMode="Fixed"
                                     Width="300"
                           IsVisible="{Binding IsChecked,                      ElementName=ShowBaseCheckbox,Mode=TwoWay}">
    </tg:DataGridTextColumn>

</tg:RadDataGrid.Columns>
</tg:RadDataGrid>

1 个答案:

答案 0 :(得分:0)

Telerik说这个问题已在最新的更新中得到解决。我从NuGet下载了它,它确实解决了这个问题。