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

Вниз

Как запретить перерисовку DBGrid а?   Найти похожие ветки 

 
TrainerOfDolphins ©   (2006-02-13 14:28) [0]

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


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

DisableControls - EnableControls


 
TrainerOfDolphins ©   (2006-02-13 14:53) [2]

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


 
Vlad ©   (2006-02-13 14:55) [3]


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


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


 
mr.il ©   (2006-02-13 14:55) [4]

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


 
TrainerOfDolphins ©   (2006-02-13 14:56) [5]

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


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

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

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


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


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


Враньё.
:)


 
mr.il ©   (2006-02-13 16:11) [8]

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


 
TrainerOfDolphins ©   (2006-02-14 10:23) [9]


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

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


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

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


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


 
Sergey13 ©   (2006-02-14 10:41) [11]

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


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


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

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


 
TrainerOfDolphins ©   (2006-02-14 11:06) [13]

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



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

Форум: "Начинающим";
Текущий архив: 2006.03.05;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.01 c
3-1136465833
tytus
2006-01-05 15:57
2006.03.05
BDE Error Field(xxx) mast have value


1-1138891522
ZbarKiy
2006-02-02 17:45
2006.03.05
Перехват закрытия приложения?


2-1140177446
zx__
2006-02-17 14:57
2006.03.05
работа с модемом


6-1132238881
Stealth
2005-11-17 17:48
2006.03.05
TCP клиент Indy в Delphi 2005


1-1138909389
Piter
2006-02-02 22:43
2006.03.05
аналог TList с полем Data





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский