DataGridView Preserve Selected Index and Scroll Position after update and reload

后端 未结 2 463
悲哀的现实
悲哀的现实 2020-12-21 09:49

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 painf

相关标签:
2条回答
  • 2020-12-21 10:16

    You can get the current row index before reloading data:

    int currentIndex= dataGridView1.CurrentRow.Index;
    

    Then after reloading data, you can use either of these options:

    • To scroll and set the current row, set CurrentCell.
    • To only scroll, set FirstDisplayedScrollingRowIndex.

    Scroll And set current row:

    this.dataGridView1.CurrentCell =  this.DataGridView1.Rows[currentIndex].Cells[0];
    

    Scroll:

    dataGridView1.FirstDisplayedScrollingRowIndex = currentIndex;
    
    0 讨论(0)
  • 2020-12-21 10:32

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

    int index = dataGridView1.CurrentRow.Index;
    
    /*
     * Your Refresh Code
     */
    
    dataGridView1.FirstDisplayedScrollingRowIndex = index;
    
    0 讨论(0)
提交回复
热议问题