Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.94/16: Рейтинг темы: голосов - 16, средняя оценка - 4.94
kmaffa
302 / 300 / 145
Регистрация: 29.10.2012
Сообщений: 820
1

Прокрутка DataGridView в заданную позицию полосы прокрутки

21.01.2015, 18:52. Просмотров 3148. Ответов 5
Метки нет (Все метки)

Столкнулся вот с какой задачкой.
Есть DataGridView, в нем занесено допустим, 30 строк. На экране отображается только 10. Пользователь проматывает например на 25 строку, нажимает кнопку "Обновить" и после обновления вверху находится 1 строка, до 25 надо опять "перематывать". Как облегчить жизнь пользователю, не заставлять его перематывать на нужную строку?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2015, 18:52
Ответы с готовыми решениями:

Вертикальные полосы прокрутки в DataGridView
Добрый день, уважаемые форумчане! Прошу Вашей помощи, так как не получается...

DataGridView - как изменить цвет полосы прокрутки
Подскажите, как изменить цвет вертикальной полосы прокрутки у DataGridView. И...

Полосы прокрутки у RichTextBox
Как проверить отображаются ли в данный момент полосы прокрутки у RichTextBox? ...

Как в pictureBox создать полосы прокрутки?
Доброе время суток! люди, подскажите пожалуйста как в pictureBox создать...

Изменение цвета полосы прокрутки в webBrowser
Есть webBrowser, с его помощью просматривается текст, видео, картинки. ...

5
kontuPauk
301 / 299 / 125
Регистрация: 29.01.2013
Сообщений: 638
Записей в блоге: 1
Завершенные тесты: 1
22.01.2015, 08:40 2
Перед обновлением запоминать идентификатор выделенной строки, после обновления делать строку с запомненным идентификатором выделенной.
0
nick2
6 / 6 / 2
Регистрация: 04.01.2011
Сообщений: 39
22.01.2015, 09:55 3
Лучший ответ Сообщение было отмечено kmaffa как решение

Решение

Как сказал kontuPauk запоминай индекс выделенной строки
C#
1
2
int f = 0;
f = dataGridView1.CurrentRow.Index;
а потом выделяй её с помощью
C#
1
2
dataGridView1.ClearSelection();
dataGridView1.Rows[f].Selected = true;
ну и скроль на неё
C#
1
dataGridView1.FirstDisplayedScrollingRowIndex = f;
Я как-то так делал.
3
NewOrdered
401 / 178 / 63
Регистрация: 25.05.2012
Сообщений: 809
Записей в блоге: 1
22.01.2015, 10:21 4
Цитата Сообщение от nick2 Посмотреть сообщение
а потом выделяй её с помощью

C#
1
2
dataGridView1.ClearSelection();
dataGridView1.Rows[f].Selected = true;
предварительно проверив, что f не больше чем dataGridView1.RowCount
1
kmaffa
302 / 300 / 145
Регистрация: 29.10.2012
Сообщений: 820
22.01.2015, 18:11  [ТС] 5
Цитата Сообщение от nick2 Посмотреть сообщение
ну и скроль на неё
C#
1
dataGridView1.FirstDisplayedScrollingRowIndex = f;
Благодарю, то что надо!!!
0
warbringer
0 / 0 / 0
Регистрация: 28.08.2013
Сообщений: 4
12.09.2015, 21:09 6
Вызови после всех этих махинаций еще
C#
1
dataGridView1.Update();
На всякий случай.
Ну в общем
C#
1
2
3
4
5
6
7
8
9
int f = 0;
f = dataGridView1.CurrentRow.Index;
if(f<dataGridView1.RowCount)
{
dataGridView1.ClearSelection();
dataGridView1.Rows[f].Selected = true;
dataGridView1.FirstDisplayedScrollingRowIndex = f;
dataGridView1.Update();
}
0
12.09.2015, 21:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.09.2015, 21:09

Перекрасить полосы прокрутки на элементах формы
Задача - изменить цвет заднего фона полосы прокрутки. (По дефолту оттенок...

Изменение цвета полосы прокрутки элемента Panel
Здравствуйте. Вопрос простой и одновременно сложный. Собственно в теме он уже...

Как сделать Value полосы прокрутки в обратную сторону?
Как сделать value hscroll'a в обратную сторону, т.е. например вместо 0-10,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru