问题
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?
回答1:
Save the row index, do your refresh, then set the FirstDisplayedScrollingRowIndex
property.
int index = dataGridView1.CurrentRow.Index;
/*
* Your Refresh Code
*/
dataGridView1.FirstDisplayedScrollingRowIndex = index;
回答2:
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;
来源:https://stackoverflow.com/questions/34776898/datagridview-preserve-selected-index-and-scroll-position-after-update-and-reload