![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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