![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
![]()
Доброе время суток уважаемые форумчане,
Помогите новичку пожалуйста. В компоненте DBGrid есть событие DrawColumnCell, которое отрабатывает допустим при нажатии dbNavigator "связанного" с dbGrid и все замечательно (переход на другую строку состоялся). Но стоит выбрать стоку в dbGrid с помощью мышки, то событие DrawColumnCell зацикливается, и работает, пока в delphi не выберешь "Program Reset". Так вот, я не понимаю в чем причина зацикливания этого события и как с ним бороться. В Help я по поводу этого зацикливания ничего не нашел. C уважением. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 08.01.2011
Сообщений: 226
|
![]()
покажи код обработчика события.
ты в конце не забываешь вызывать обработчик по умолчанию: DefaultDrawColumnCell? |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
![]()
Да, забыл. Но если у меня что-то не получается, то я смотрю на боле простом коде, например:
Код:
У нас принято оформлять код специальным тегом. Кнопка #. Модератор Последний раз редактировалось dr.Chas; 04.07.2011 в 00:29. |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 25.07.2009
Сообщений: 533
|
![]()
Ну тут для начала вопрос а что делаем то?
Для чего пытаемся приспособить DrawColumnCell?
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA) |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 30.08.2010
Сообщений: 153
|
![]()
Я использовал DrawColumnCell для отображения иконок в ячейках. Насколько я понимаю это отображение было "зациклено", как, наверное, и любое событие в рамках этого свойства.
|
![]() |
![]() |
![]() |
#6 |
Холост/Не замужем
Форумчанин
Регистрация: 13.11.2007
Сообщений: 283
|
![]()
Это событие DrawColumnCell возникает каждый раз когда перерисовывается ячейка в DBGrid.
Я как понял тебе нужно выполнять некий код при переходе на следующую (предыдущую) строку. Если так то используй событие DataSet`а AfterScroll |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
![]()
Просто стало понятно, что в собитии "DrawColumnCell", стоит выполнять только действия по перерисовке grid, я же в этот обработчик еще запрос к БД влепил.
А код был простой: Код:
Я то сам думал, что этот код будет выполнятся только столько раз, сколько видимых ячеек в сетке (dbGriid), и оказался не прав. Но видимо что-то вызывает "invalidate" или "repaint", как подсказали. |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Ну вывалилось твое сообщение, после его удаления с экрана форма перерисовывается вместе с гридом и опять отрабатывает DrawColumnCell для ячеек - вот и зациклилось
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
![]()
Спасибо всем за разъяснения
![]() Но ведь я немного поправлюсь. Цикл получается при непосрдственном переходе с строки на строку (при щелчке мышки на bdGrrid). А если использовать DBNavigator (как переход с строки на строку), то цикла НЕТ (т.е. сообщение вывалется определенное количество раз). Но я думаю это уже из другой "оперы". Последний раз редактировалось KBO; 05.07.2011 в 13:48. |
![]() |
![]() |
![]() |
#10 | |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
![]() Цитата:
Я вообщето против, применения глобальных переменных в приложениях. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
TDBGrid DrawColumnCell | AnBychkov | Общие вопросы Delphi | 0 | 16.09.2010 22:04 |
События в WPF. Обращение к компонентам формы из события | Casper-SC | Общие вопросы .NET | 3 | 25.07.2010 19:03 |
События | session | Общие вопросы C/C++ | 2 | 21.06.2010 17:16 |
События | yarilo | JavaScript, Ajax | 3 | 28.01.2010 23:18 |
Отработка текста в Паскаль | spartanes_dk | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 22.12.2008 18:49 |