Как изменить цвет ячейки 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;

Поддержка сайта

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

  • Новое интернет казино Адмирал презентует игровые автоматы, в которые http://formlessro.com/forum/index.php?topic=175497.new Игровые автоматы видео онлайн бесплатно. Здесь вы найдете все про онлайн казино Вулка: как играть на http://www.a-riviera.ru/viewtopic.php?f=26&t=6216 Мелодрамы 2015 2016...
  • 90m lesbian pantyhose pb Classic Interracial Sarah Young Takes a Big Black Cock. Hot Asian With Perky Nipples Masturabting. Sexy Blonde, Anal Big Black Cock Breaking My Ass And Taking A Shower. Porn photos of blondes Attractive russian and canadian singles Huge Cum After Days. She saw some teen...
  • [b]Продам iphone 8 (идеальная реплика) в отличном состоянии. [/b] Телефон новый, технических нареканий нет, работает хорошо. [img]http://www.picshare.ru/uploads/180624/E9V10k2k3t.jpg[/img] [b]Полный коплект: коробка, наушники, зарядка.[/b] Продаю срочно, поэтому отдам с большой скидкой. [b]Всего...

Счетчики