Welcome to the WinForms feedback portal. We’re happy you’re here! If you have feedback on how to improve the WinForms, we’d love to hear it!

  • Check out the features or bugs others have reported and vote on your favorites. Feedback will be prioritized based on popularity.
  • If you have feedback that’s not listed yet, submit your own.

Thanks for joining our community and helping improve Syncfusion products!

0
Votes

I have attached a short video to demonstrate what is happening.  I have a DataGrid that has variable height rows (as shown).  When I load the datagrid (via a DataSource, being a DataTable) and try to scroll down to the last row, it does not get there, but somewhere close.  This is the code that I use to scroll to the bottom, which works just fine with all the other datagrids I utilize (but do not have variable height):

        Dim rowIndex \equals\ sdgHistory.TableControl.ResolveToRowIndex(sdgHistory.View.Records.Count - 1)

        sdgHistory.TableControl.ScrollRows.ScrollInView(rowIndex)

        sdgHistory.TableControl.UpdateScrollBars()


Now, just for grins, I put a button on the bottom of the screen and you can see me clicking it.  The event (click) just performs the above code.  Each time I click it, the datagrid gets a little further down, until it eventually reaches the end.


Without peeking deeper in the SyncFusion code, I would suspect that variable row height is not accounted for.


When I set the RowHeight to some very high number (say 200), then the scroll works just fine.  Of course, I got big rows.  But interestingly enough, the multi line rows size correctly (due to logic I have in the QueryRowHeight, I believe. 


But at the end of the day, the issue is that line height is not being taken into account when trying to scroll to an index.  This is clearly the datagrid's measuring is at fault and trying to scroll based on a pixel count axis instead of making sure that the RowIndex is actually in the viewport.