Hi,
when user scrolling grid cell with larger amount of data when using filter UI freezes and app hangs.
Any help what can be a reason? below is the snapshot from profiler
Hello AndrewS,
Thank you for your update on this matter, but unfortunately a screenshot of a performance profiling session is not enough evidence to call this a bug in the XamDataGrid. This would need to be something that we can reproduce to figure out exactly why it is spending the amount of time in the method that it is.
I understand that the full application would be too large and complex to post – I would not want you to post your entire application to this forum thread as it would very likely be overkill to reproducing this issue on our end. What I would like from you is an isolated sample project that shows the behavior of the grid, specifically. Alternatively, if you can provide specific steps that would reproduce this along with the XAML markup of your grid, I can attempt to reproduce this in a sample on my end.
It is also worth noting that since you are using version 18.2, this version is no longer a supported version and I would need to ensure that the issue actually exists in the versions that are receiving active development at this time (versions 22.1 and 22.2 at the time of writing this). You could also try to verify this by downloading a Trial of the latest version from our website if you are not already registered to the latest version(s) of Infragistics for WPF. For a description of the product lifecycle of our various toolsets, you can use this page: https://es.infragistics.com/support/product-lifecycle.
Please let me know if you have any other questions or concerns on this matter.
Sorry but application is too big and complex to post. After farther debugging seems to me like a bug in your datagrid scrolling function?
It is unfortunately rather difficult to make a suggestion just based on the screenshot you provided, as it is essentially just saying that there is a bit of time spent in the measurement of the CellValuePresenter elements within the VirtualizingDataRecordCellPanel. This happens as a result of a ton of different operations in the grid, but the fact that this is taking quite a bit of time is why I asked about the virtualization of the grid.
Another thing you can try to see if the grid may be measuring with an infinite height is to check the ActualHeight/ActualWidth properties of your grid at runtime. If it is obscenely huge in either case, this means that the container your grid is in is likely measuring with an infinite height or width.
I am a little confused about your mention of “reload grid” after you are filtering. Are you changing the data source in response to the filter? Would it be possible for you to please provide an isolated sample project that shows this performance issue you are seeing?
Hi Andrew, we're using version 18.2 for WPF xamgrid..
We put in column filter e.g. %123% and then reload greed, after data is refreshed when scrolling up and down UI freezes and app hangs, basically need t5o restart it.
I am not aware about virtualization setting of the grid, have to check that.
any other suggestion?
thanks
I have been investigating into the behavior you are seeing in this case, and I have a few questions for you on this matter. Would it be possible for you to please answer the following?
1. What is the specific version of Infragistics for WPF that you are using?
2. Can you please clarify at what point does this freezing behavior happen? I am unsure how the filter UI is causing this behavior? Are you scrolling while filtering or perhaps something else?
3. Are you by chance disabling the virtualization in the grid? This can be done in a few ways. The simplest is by setting the RecordContainerGenerationMode property of the grid to “PreLoad.” You can also do this by placing the grid inside a StackPanel or ScrollViewer due to the way that these elements are drawn. This can also usually be seen by the initial load time of the grid, as it will take far longer with a large amount of records than if you set RecordContainerGenerationMode to “Recycle” (its default) or have it in a container that does not measure with an infinite height.