Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как правильно обновлять dbgrid? [D7]


sharkOFF ©   (2004-10-06 17:35:00) 

После каких-то изменений в базе нужно обновить данные
в гриде. При этом грид, находящийся на какой-либо позиции
должен не соскакивать на начало, а оставаться на текущей позиции.
Можно сохранять ID позиции, а потом использовать Locate в Query, на который завязан грид, но тогда этот элемент позиционируется по центру грида - картинка меняется. Это раздражает пользователей. Может можно как-то сохранять позицию скроллинга, а потом ее восстанавливать, чтобы точно восстанавливать позицию?


Vlad   (2004-10-06 17:53:00) [1]


> sharkOFF   (06.10.04 17:35)  
> После каких-то изменений в базе нужно обновить данные
> в гриде

Если обновлять через стандартный метод Refresh, то изменение позиции курсора не должно происходить вобще.
Ну а если ты делаешь Close; Open, тогда понятно. В этом случае восстановить ту же картинку будет очень гемморойно. Сам когда-то пробовал, но в итоге решил забить. Оно того не стоит.


Defunct   (2004-10-06 17:46:00) [2]

1. можно потратить месяц и сделать свою реализацию dbgrid.
2. можно запоминать позицию центра grid'a и потом ее же и восстанавливать.


Наверх

Титульная страница Поиск, карта сайта Написать письмо