Hi,
i have a hierarchical grid (Xamgrid) with 2 header rows and many columns (> 200). I use grouped header columns and normal header columns mixed.
Now the problem:
When I scroll horizontally with the mouse, I don't get to the last column. Instead it ends somewhere in the middle.With the keyboard I can scroll further.
To get around this, I scroll to the last column and back by code. But then columns are missing in the middle.
It looks like this could be related to virtualization.
Do you know this problem?And do you have any idea how to make scrolling with the mouse stable?
greetings
Thomas
<ig:XamGrid x:Name="view" AutoGenerateColumns="false" Background="{DynamicResource {x:Static UiCore:Brushes.WhiteColorBrush}}" BorderThickness="0" CellStyle="{DynamicResource HorizontalGaplessCellControlStyle}" ColumnWidth="Auto" ContextMenu="{DynamicResource ViewModelContextMenu}" DataContext="{Binding}" FixedRowSeparatorStyle="{DynamicResource FixedRowSeparatorStyle}" HeaderTextHorizontalAlignment="Center" Indentation="0" IsAlternateRowsEnabled="False" ItemsSource="{Binding SubElements}" KeyboardNavigation="AllLayouts" MinimumRowHeight="{DynamicResource {x:Static UiCore:Constants.RasterHeight4Constant}}" RowHover="Row" CellControlGenerationMode="Virtualize" ColumnResized="view_ColumnResized" ScrollBar.Scroll="view_Scroll"> <ig:XamGrid.Style> <Style BasedOn="{StaticResource {x:Type ig:XamGrid}}" TargetType="{x:Type ig:XamGrid}"> <Style.Triggers> <DataTrigger Binding="{Binding HasCustomizedGridColumns}" Value="False"> <Setter Property="IsEnabled" Value="False" /> <Setter Property="Opacity" Value="0.5" /> </DataTrigger> <DataTrigger Binding="{Binding SubElements.Count}" Value="0"> <Setter Property="IsEnabled" Value="False" /> <Setter Property="Opacity" Value="0.5" /> </DataTrigger> </Style.Triggers> </Style> </ig:XamGrid.Style> <ig:XamGrid.ColumnLayouts> <ig:ColumnLayout Key="SubElements" TargetTypeName="RowViewModel"></ig:ColumnLayout> </ig:XamGrid.ColumnLayouts> <ig:XamGrid.SortingSettings> <ig:SortingSettings AllowSorting="False" /> </ig:XamGrid.SortingSettings> <ig:XamGrid.ColumnResizingSettings> <ig:ColumnResizingSettings AllowColumnResizing="Immediate" AllowDoubleClickToSize="False" AllowMultipleColumnResize="False" /> </ig:XamGrid.ColumnResizingSettings> <ig:XamGrid.EditingSettings> <ig:EditingSettings AllowEditing="None" IsEnterKeyEditingEnabled="False" IsF2EditingEnabled="False" IsMouseActionEditingEnabled="None" IsOnCellActiveEditingEnabled="False" /> </ig:XamGrid.EditingSettings> <ig:XamGrid.SelectionSettings> <ig:SelectionSettings CellSelection="Multiple" /> </ig:XamGrid.SelectionSettings> </ig:XamGrid>
With the version 164 I could not reproduce the scroll error so far again.Thanks a lot
Hello Thomas,
Thank you for the sample project! Upon investigating the .csproj file for this project, it appears that you are using specific version 19.1.20191.84, which is actually a service release behind the current release at the moment.
I have tested against both 19.1.20191.84 and the latest public service release, 19.1.20191.164, and I am able to reproduce this behavior with 84 but not with the latest 164, which leads me to believe that this issue was fixed between those two versions. As such, I would recommend upgrading to the latest service release of 19.1.
You can upgrade to the latest service release by signing into your account and visiting https://ko.infragistics.com/my-account/keys-and-downloads. There, you should see a list of products that you are registered to – one of them being a 2019.1 product. Clicking on the 2019.1 product that you are registered to will open a new set of tabs, with one reading “Service Releases.” You can download the installer for the service release for version 19.1.20191.164 there.
Please let me know if you have any other questions or concerns on this matter.
Hi, Andrew,Thanks for the quick answer.I have created a small example to simulate the behavior.Here you can also find the used version.You scroll with the mouse to the end of the scroll bar. Then you can navigate with the keyboard further to the right.
XamDataGrid is certainly an option in the medium term.But in the short term we need a stable behavior of the XamGrid.
Test.zip
My team and I have done an initial review of this thread, and it sounds like there is a lot going on here. As such, I have a few questions for you on this matter. Can you please provide some information regarding the following?
1. Is there a concrete set of steps that you can provide that reproduces this issue you are seeing?
2. You mentioned that you have a hierarchical XamGrid in this case – is this issue reproduced by scrolling the child columns or the parent columns (or both)?
3. I see that you are handling the ScrollBar.Scroll event in your code – what is happening in this event?
4. What is the specific version of Infragistics for WPF that you are using in this case? For example, if you are using version 2019.1, this number would look like: 19.1.20191.XXXX.
5. Is migration to the XamDataGrid control an option or possibility for you in this case? I ask because as it states in every topic in our XamGrid online documentation, “We recommend that you use the XamDataGrid control instead of the XamGrid control. The XamGrid is being planned for retirement over the next few years and will not receive any new features. We will continue to provide support and critical bug fixes for the XamGrid during this time. For help or questions on migrating your codebase to the XamDataGrid, please contact support.” At the time of writing this, essentially the only thing that the XamGrid does that the XamDataGrid doesn’t is paging. The XamDataGrid does everything else that the XamGrid does, and it does it better and in a more performant way.