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

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

DBGrid. Запомнить позицию.


Kvinta ©   (2006-11-27 08:34:00) 

Есть широкий грид, отображает данные из адо. таблица широкая и длинная, при перемещении по гриду в какой либо момент мы обновляем данные (сортируем например). соответственно, хочется чтобы курсор оставался на прежней записи, и в прежнем столбце (В идеале, никаких движений в гриде не происходит, только содержание ячеек меняется). что-то сам сообразить не могу. как это сделать?

Заранее спасибо.


Kvinta   (2006-11-27 13:06:00) [1]


> ничего не нужно делать вообще, все и так остается на своих
> местах DisableControls - действия над данными - локейт на
> запомненную перед действиями запись - EnableControls
> т.е. так как правильно (и как в книгах/хелпе пишут) и ничего
> в настройках грида восстанавливать не придется.
> если приходится... т.к. чтото сбивается, то приводи код,
>  у тебя ошибка в 17й строке.


Действительно! Все просто! Огромное спасибо! Именно то что я и хотел. :)


sniknik   (2006-11-27 12:57:00) [2]

ничего не нужно делать вообще, все и так остается на своих местах DisableControls - действия над данными - локейт на запомненную перед действиями запись - EnableControls
т.е. так как правильно (и как в книгах/хелпе пишут) и ничего в настройках грида восстанавливать не придется.
если приходится... т.к. чтото сбивается, то приводи код, у тебя ошибка в 17й строке.


Kvinta   (2006-11-27 12:27:00) [3]


> для колонки: запомнить LeftTop  грида и  SelectedIndex дбгрида
> и затем их восстановить.

??? Left,Top  у меня при перемещению по гриду всегда 0 (отслеживал через события. Чего там запоминать? Может я опять недогоняю. Мне бы мини пример... Если не сложно..

>
> для строки: сделать так чтобы текущая запись после переоткрытия
> нд оставалась в таком же положении относительно первой показываемой
> записи.
>
> для строки. 3 недели назад (09.11) я показывал как сделать
> нужную запись первой на экране. Здесь задача подобная, только
> делать её надо не первой о той, которой она была до переоткрытия.
>


Простите. Можно небольшой пример.... Буквально сами методы с привязкой к гриду или адо. дальше я постараюсь рразобраться...


Kvinta   (2006-11-27 12:20:00) [4]


> Locate


Это только для вертикального перемещения сработает. А для горизонтального?


Sergey13   (2006-11-27 09:19:00) [5]

> [3] ЮЮ ©   (27.11.06 09:05)

Это "в идеале" у автора. Я предложил простое, эффективное, но не идеальное (с т.з. автора) решение. 8-)


ЮЮ   (2006-11-27 09:05:00) [6]

Sergey13 ©   (27.11.06 08:49) [1]

Locate


Проблема не м том чтобы найти запись, а чтобы после переоткрытия текущая строка и выбранный столбец остались прежними, хотя искомая запись и изменила сое место в датасете


ЮЮ   (2006-11-27 09:02:00) [7]

для колонки: запомнить LeftTop  грида и  SelectedIndex дбгрида и затем их восстановить.

для строки: сделать так чтобы текущая запись после переоткрытия нд оставалась в таком же положении относительно первой показываемой записи.

для строки. 3 недели назад (09.11) я показывал как сделать нужную запись первой на экране. Здесь задача подобная, только делать её надо не первой о той, которой она была до переоткрытия.


Sergey13   (2006-11-27 08:49:00) [8]

Locate


Наверх

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