Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как отобразить выбранную строку TDBGrid различными цветами?

01.01.2007

Если Вы хотите раскрасить выбранную строку DBGrid, но не хотите использовать опцию dgRowSelect, так как хотели бы редактировать данные, то можно воспользоваться следующей технологией в событии DBGrid.OnDrawColumnCell:

type 
  TCustomDBGridCracker = class(TCustomDBGrid); 
 
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; 
  const Rect: TRect; DataCol: Integer; Column: TColumn; 
  State: TGridDrawState); 
begin 
  with Cracker(Sender) do 
    if DataLink.ActiveRecord = Row - 1 then 
      Canvas.Brush.Color := clRed 
    else 
      Canvas.Brush.Color := clWhite; 
  DefaultDrawColumnCell(Rect, DataCol, Column, State); 
end;

Взято из https://forum.sources.ru