DataGridView Preserve Selected Index and Scroll Po

2020-02-14 08:19发布

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?

2条回答
Explosion°爆炸
2楼-- · 2020-02-14 08:21

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

int index = dataGridView1.CurrentRow.Index;

/*
 * Your Refresh Code
 */

dataGridView1.FirstDisplayedScrollingRowIndex = index;
查看更多
家丑人穷心不美
3楼-- · 2020-02-14 08:43

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:

Scroll And set current row:

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

Scroll:

dataGridView1.FirstDisplayedScrollingRowIndex = currentIndex;
查看更多
登录 后发表回答