Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.03.2015, 15:04
Eldar1991 Eldar1991 вне форума
Прохожий
 
Регистрация: 02.03.2015
Сообщения: 21
Версия Delphi: delphi7
Репутация: 10
По умолчанию Изменение цвета строки DBGrid по событию

Добрый день! Возможно данный вопрос уже поднимался ранее, но все таки. Как грамотно сделать изменение цвета строки DBGrid по выполнению определенного условия, а именно: есть поле с датами. по истечению установленного срока от каждой из дат строка должна изменять цвет на красный (просрочено). Как это реализовать? Событие OnDrawDataCell мне не понятно, код компилируется но действия не происходит. Вызов этого события из других процедур также не получается, не компилирует. Помогите пожалуйста
Ответить с цитированием
  #2  
Старый 23.03.2015, 15:36
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Цитата:
Do not write an OnDrawDataCell event handler. OnDrawDataCell is obsolete and included for backward compatibility. Instead, write an OnDrawColumnCell event handler.
используй OnDrawColumnCell. вкратце:
Код:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
    DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  if (OraQuery1.FieldByName('KODNAIM').AsInteger mod 2)=0 then
    DBGrid1.Canvas.Brush.Color:=clRed;
  DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 23.03.2015, 17:01
Eldar1991 Eldar1991 вне форума
Прохожий
 
Регистрация: 02.03.2015
Сообщения: 21
Версия Delphi: delphi7
Репутация: 10
Вопрос

попробовал. изменил тип с integer на datetime т.к. ругался что к полю не применимо. и вот:
Код:
Operator not applicable to this operand type
Ответить с цитированием
  #4  
Старый 23.03.2015, 18:08
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

так у тебя и поля KODNAIM скорее всего нет! условие проверка на четность чисто для примера написано.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:13.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter