Frankly, your idea is brilliant!
Let me introduce myself. My name is Rossen Hristov and I am the author of this asynchronous method. In fact my logic is the same as yours. I am trying to find the row. In case I can not, I am trying again, but this time I hope that it is closer to the Viewport. There is a limit though.
Originally this method was internal, but I have decided to make it public. We use it for the editing architecture. For example, edit a property on which the grid is sorted, once you enter the new value the row you were editing goes somewhere else and we have to find it, so that you can edit the next row.
Let me tell you what cases I have struck while developing this functionality. Imagine that you have a grouped grid. Let's make it more diffucult and make the grouping 3-level. Add V
irtualization, the concept that makes everything so difficult to predict, since you never really know what is coming next.
No one knows what height a group will have once it is expanded. It is undeterminable. Another example is Row Details with varying height. The Row Details of every single row can have arbitrary height. No one knows how much the row details will be high once they are scrolled into view. The whole math goes wrong.
So I am trying to use something similar to the Newton's Method
for approximation in order to find the row (the root of our function).
Sometimes it works, sometimes not.
If you are able to send me a dummy sample project with those variable row heights that brakes the ScrollIntoViewAsync method I will be very happy. I would be able to debug your case and see why isn't this method finding the correct row.
I cannot promise anything at this stage, but I would very much like to have this sample data for testing purposes.
Please, accept our apologies. I would like to assure you that we are doing everything to meet our customers' expectations.
Looking forward to hearing from you, Thomas.
All the best,
the Telerik team
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Telerik Public Issue Tracking
system and vote to affect the priority of the items.