2016-01-13 8 views
1

У меня есть некоторые проблемы, не сейчас, как сохранить положение прокрутки в DataGridView.DataGridView Сохраняет выбранный указатель и положение прокрутки после обновления и перезагрузки

У меня более 1000 строк и прокрутка назад к отредактированной строке болезненно. Как сохранить положение прокрутки и прокрутить до отредактированной строки после обновления данных?

+0

Можете ли вы предоставить более подробную информацию о вашей проблеме, в том числе фрагменты кода, где проблема? – Rafael

+0

OP ищет способ сохранить положение прокрутки после перезагрузки данных в DataGridView. –

ответ

2

Сохраните индекс строки, сделайте обновление, а затем установите свойство FirstDisplayedScrollingRowIndex.

int index = dataGridView1.CurrentRow.Index; 

/* 
* Your Refresh Code 
*/ 

dataGridView1.FirstDisplayedScrollingRowIndex = index; 
+0

Я также добавил вариант. –

+0

Хороший вариант, я чувствую себя глупо за то, что не пропустил этого предложения. – OhBeWise

+0

Нет проблем, ваш хороший вариант решил проблему для OP :) –

2

Вы можете получить текущий индекс строки перед загрузкой данных:

int currentIndex= dataGridView1.CurrentRow.Index; 

Затем после перезагрузки данных, вы можете использовать любой из этих вариантов:

прокрутки и установить текущий ряд:

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

Свиток:

dataGridView1.FirstDisplayedScrollingRowIndex = currentIndex;