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

Материал из DRKB

Как отобразить выбранную строку DBGrid различными цветами?[править | править код]

Если Вы хотите раскрасить выбранную строку 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;


Source: Взято из http://forum.sources.ru
ID: 03019