Scrolling a datagrid to a specific row (or to the bottom)

There are 2 ways you can do this. In the first method, you can derive a class from datagrid and use the protected method GetVScroll(). In the second method, you can just do this :

[csharp]this.dataGridView1.CurrentCell = this.dataGridView1[0, rowIndex];[/csharp]

If you want to scroll to the bottom then do this :
[csharp]this.dataGridView1.CurrentCell = this.dataGridView1[0, this.dataGridView.Rows.count – 1];[/csharp]

I also found a piece of code which had a few lines (to select a row, not just scroll):

[csharp]
dataGridView1.FirstDisplayedScrollingRowIndex = index;
dataGridView1.Refresh();
dataGrid.CurrentCell = dataGrid.Rows[index].Cells[0];
dataGrid.Rows[index].Selected = true;
[/csharp]


Posted

in

,

by

Comments

2 responses to “Scrolling a datagrid to a specific row (or to the bottom)”

  1. Jnr Avatar
    Jnr

    Thank you!

  2. ARandomGuy Avatar
    ARandomGuy

    I think I found the best way to scroll to the bottom:

    In the `DataContextChanged` event put this in:

    myDataGrid.ScrollIntoView(CollectionView.NewItemPlaceholder);

    Easy huh?

    This is why it works: On every data grid there is a place at the bottom of the DataGrid where you can add a new item to your list that it’s bound to. That is a CollectionView.NewItemPlaceholder, and there will only be one of those in your DataGrid. So you can just scroll to that.

Leave a Reply

Your email address will not be published. Required fields are marked *