Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.046 c
15-1169624175
chvank
2007-01-24 10:36
2007.02.18
Right click и всё!


2-1170149118
myaucher
2007-01-30 12:25
2007.02.18
Использование Data Module


2-1170326279
WhiteBarsik
2007-02-01 13:37
2007.02.18
В EXE не желает включаться "designide"


15-1169799693
AntonSimenko
2007-01-26 11:21
2007.02.18
SimpleXML.pas


15-1169013501
NLex
2007-01-17 08:58
2007.02.18
FireBird Component





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский