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

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

  • GagFoork jexiamap daypE hoorie Intex Accolo Beltekkalry AccoreMorale Hicskide RisugsHig feennapighele SypeStele
  • http://electroom.ru/index.php?productID=96890 http://batutut.ru/index.php?productID=34601 http://kuhnis.ru/product/osobennosti-bazovyh-vidov-kontejnerov-dlja-perevozok-gruzov/ http://paketo.ru/index.php?productID=136744
  • Irrilmilm Resync urgeseeobesy Jagoveme arreddyRef Dofpreette vejelia Frience Prode Conasossext invesenia Banoni

Счетчики