![]() |
Модераторы: gambit, Partizan |
![]() ![]() ![]() |
|
EuGenius_Krivbass |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 29.1.2007 Где: Кривбасс, Днепр Украина Репутация: нет Всего: нет |
DataGridView работает таким образом, что в него загружаются только необходимые в данный момент записи
из DataTable. Рядом с DataGridView есть Scroll. По скролу определяется, какой диапазон вытягивать для DatagridView из DataTable. При нажатии на Up в верхней строке DataGridView - содержимое перегружается со смещением на одну позицию вверх, т.е. если была верхняя запись с индексом 15, то станет 14. Необходимо оставлять выделение строки по отношению к DataGridView (была выделена первая - первая и остается, была 14 - 14 и остается), хотя содержимое строк меняется. А теперь проблема: по кнопке Up - перегружается и выделенная строка остается на своем месте по скроллу как вверх , так и вниз - то же самое (все хорошо) по кнопке Down, если курсор на самой нижней строке - DataGridView перегружается, но выделенной строкой становаится строка с индексом в гриде 1! (вторая сверху) Как это последнее выделение сделать для нижней строки? Боков, типа где-то случайно назначил в приложении "1" нету. после загрузки грида новым содержимым происходит переназначение выделенной строки. количество строк - всегда одинаковое - зависит от размера самого грида. В событии OnPaint - четко видно, что грид поставил выделенной строкой - с индексом 1 Это сообщение отредактировал(а) EuGenius_Krivbass - 9.4.2008, 16:45 |
|||
|
||||
vponomarov |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 407 Регистрация: 11.8.2007 Где: Киев Репутация: 5 Всего: 12 |
EuGenius_Krivbass, а если попробовать ПЕРЕД скролом запоминать индекс выделенной строки, потом загружать новую инфу и выделять строку с индексом который мы запомнили?
|
|||
|
||||
EuGenius_Krivbass |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 29.1.2007 Где: Кривбасс, Днепр Украина Репутация: нет Всего: нет |
Я именно так и делаю, но после установки мною необходимого индекса, DataGridView сам меняет его на "1"
|
|||
|
||||
EuGenius_Krivbass |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 29.1.2007 Где: Кривбасс, Днепр Украина Репутация: нет Всего: нет |
Это просто УЖАС!!!!!
так не работает(для кнопки KeyDown):
а так все прекрасно работает, [censored 6]:
Это сообщение отредактировал(а) EuGenius_Krivbass - 9.4.2008, 18:29 |
||||
|
|||||
IApple |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 17.1.2008 Репутация: нет Всего: нет |
1) Вообще страные вопросы у Вас... Не пойму зачем что-либо высчитывать при нажатии Down, если по условию (после новой загрузки) необходимо просто выделить ПОСЛЕДНЮЮ из загруженых в грид?
2) 1 зашита не в вашем коде, а в гриде - ваша "перезагрузка" даных вынуждает его сбросить Selected в 0, после чего обрабатывается Down увеличением этого нуля на 1... |
|||
|
||||
EuGenius_Krivbass |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 29.1.2007 Где: Кривбасс, Днепр Украина Репутация: нет Всего: нет |
||||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |