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

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

  • viagra the team http://gtviagracan.com - viagra for men for sale what is viagra used for viagra for sale - viagra without a prescription filitra
  • игровые автоматы без регистрации игровые автоматы играть бесплатно  игровые автоматы на деньги игровые автоматы играть бесплатно  игровые автоматы онлайн igrovieqlo игровые автоматы без регистрации игровые автоматы без регистрации игровые автоматы на деньги игровые автоматы бесплатно игровые...
  • Alien Robots r en av v rldens b https://1e6c1ee26.weebly.com/blog/cleopatra-spelautomater Novomatic casinon och dess b sta slots. BanksВ and financial institutions from https://8145fb20d.weebly.com/blog/svenska-casinon talar om n r man pratar slots p n tet. As we've mentioned with other games that...

Счетчики