Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.18;
Скачать: CL | DM;

Вниз

DBGrid. Запомнить позицию.   Найти похожие ветки 

 
Kvinta   (2006-11-27 08:34) [0]

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

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


 
Sergey13 ©   (2006-11-27 08:49) [1]

Locate


 
ЮЮ ©   (2006-11-27 09:02) [2]

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

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

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


 
ЮЮ ©   (2006-11-27 09:05) [3]

Sergey13 ©   (27.11.06 08:49) [1]

Locate


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


 
Sergey13 ©   (2006-11-27 09:19) [4]

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

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


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


> Locate


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


 
Kvinta   (2006-11-27 12:27) [6]


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

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

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


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


 
sniknik ©   (2006-11-27 12:57) [7]

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


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


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


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



Страницы: 1 вся ветка

Текущий архив: 2007.02.18;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.07 c
15-1169458745
optimizer
2007-01-22 12:39
2007.02.18
Оптимизация


15-1169382005
ChainikDenis
2007-01-21 15:20
2007.02.18
Как затормозить основной поток?


15-1169934087
PHPdeveloper
2007-01-28 00:41
2007.02.18
баг


2-1169887426
NightRain
2007-01-27 11:43
2007.02.18
Помогите! программа работает только один раз.


2-1169891947
Muchacho123
2007-01-27 12:59
2007.02.18
MultiSelect в OpenDialog