Как изменить цвет ячейки TDBGrid в зависимости от текущего значения?

Для изменения цвета некоторых ячеек таблицы TDBGrid необходимо определить реакцию на событие DBGrid1DrawDataCell и проверив необходимые условия, перерисовать ячейку вручную (если в этом есть необходимость).

Все необходимые данные для отрисовки передаются в параметрах процедуры.

Пример:

Отрисовка белых букв на красном фоне если, перерисовывается поле 'First_I', ячейка не в фокусе и значение поля меньше нуля.

procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState);
begin
 
 WITH DBGrid1.Canvas DO
 
  IF (Field.FieldName = 'First_I') AND (NOT (gdFocused in State))
  AND (Field.AsInteger < 0) THEN BEGIN
 
   Brush.Color := clRed;
   Font.Color := clWhite;
   DBGrid1.DefaultDrawDataCell(Rect, Field, State);
 
  END;
 
end;

Последние комментарии

  • Отправка Вашего сообщения в более чем 1 200 000 форм обратной связи России Это отправка по формам с сайтов в разделе контакты, которые заполняются нашим роботом. Далее письмо с вашим предложением приходит на контактный E-mail организации. При отправку через форму каждый сайт отправляет сообщение...
  • Здравствуйте, меня зовут Пакалов Алексей, я являюсь руководителем Благотворительного Фонда Помоги Детям http://pomogi-detjam.ru Мы занимаемся помощью детям-сиротам, детям-инвалидам,детям из неблагополучных семей,основным родом нашей деятельности являются дети больные детским церебральным параличом....
  • shopg39 shopg81 shopg82 shopg42 shopg63 Добро пожаловать в сексшоп алматы shopg24 shopg68 shopg29 shopg88 shopg36

Счетчики