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

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

Как запретить перерисовку DBGrid'а?


TrainerOfDolphins ©   (2006-02-13 14:28:00) 

Здраствуйте!
В процессе работы моей программе необходимо переместиться на другую запись таблицы, а потом вернуться обратно. Эти манипуляции отражаются в DBGrid'е, который подключён к данной таблице - мигает указатель записи.
Вопрос: Как запретить перерисовку DBGrid'а на время внутрипрограммных перемещений по таблице?
Заранее благодарен за ответ.


TrainerOfDolphins   (2006-02-14 11:06:00) [1]

Спасибо вам всем!
В принципе вопрос изчерпан. Да и собственно всё это не так важно, по сравнению с тем, для чего это всё нужно... Открываю новую тему :).


TrainerOfDolphins   (2006-02-14 11:00:00) [2]


> А зачем тебе столько в гриде?

Хороший вопрос :). А хороший вопрос - половина ответа. Спасибо! Есть над чем подумать...:)


Sergey13   (2006-02-14 10:41:00) [3]

2[9] TrainerOfDolphins ©   (14.02.06 10:23)
> А ничего, что у меня в этом датасете 18000 записей?
А зачем тебе столько в гриде?


Жуков Олег   (2006-02-14 10:34:00) [4]

>А ничего, что у меня в этом датасете 18000 записей?
>Как то не хочится все их дублировать...


Нет, все не надо, а только те, которые нужно. Из задачи видно, что нужна одна запись.


TrainerOfDolphins   (2006-02-14 10:23:00) [5]


> Опыт показывает, что датасет для выборки должен быть отдельно
> от датасета для отображения.

А ничего, что у меня в этом датасете 18000 записей? Как то не хочится все их дублировать...


mr.il   (2006-02-13 16:11:00) [6]

Скажи, что-за манипуляции ты производишь с датасетом, что потребовалось скакать на запись назад. А если будет другой индекс, то результат будет другой. Опыт показывает, что датасет для выборки должен быть отдельно от датасета для отображения.


Johnmen   (2006-02-13 15:17:00) [7]


> TrainerOfDolphins ©   (13.02.06 14:53) [2]
> ...Но ведь DBGrid всё равно мелькает, хоть и немножко меньше.


Враньё.
:)


antoxa2005   (2006-02-13 14:57:00) [8]

Создай динамически ADOQuery и бегай по нему сколько хочешь.

SELECT * FROM [таблица подцепленная к твоему BDGrid-у]


TrainerOfDolphins   (2006-02-13 14:56:00) [9]

Есть ещё какой-то способ?


Vlad   (2006-02-13 14:55:00) [10]


> TrainerOfDolphins ©   (13.02.06 14:53) [2]


Странно, мелькать не должен.
Есть более верный способ - отключить DataSource от грида на время скроллинга, потом снова подключить


mr.il   (2006-02-13 14:55:00) [11]

IMHO нужно создать еще один датасет и в нем производить манипуляции, а датасет грида оставить в покое. Есть вероятность, что в момент выполнения "скачков" юсер ткнет в другое место грида, и что ты получишЬ?


TrainerOfDolphins   (2006-02-13 14:53:00) [12]

Мне, к счастью, известны эти методы. Но ведь DBGrid всё равно мелькает, хоть и немножко меньше. Есть методы BeginUpDate и EndUpDate, но они, насколько я понял, внутренние, и я их не могу вызвать.


Johnmen   (2006-02-13 14:29:00) [13]

DisableControls - EnableControls


Наверх

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