Search code examples
c#winformsdatagridviewdatagridviewrow

DataGridView Preserve Selected Index and Scroll Position after update and reload


I have some problem, don't now how to preserve the scroll position in a DataGridView.

I have over 1000+ rows and scrolling back to edited row is painful. How can I preserve the scroll position and scroll to the edited row after refreshing data?


Solution

  • Save the row index, do your refresh, then set the FirstDisplayedScrollingRowIndex property.

    int index = dataGridView1.CurrentRow.Index;
    
    /*
     * Your Refresh Code
     */
    
    dataGridView1.FirstDisplayedScrollingRowIndex = index;