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

Как поместить графическое изображение в TDBGrid?

01.01.2007

Использование свойства Canvas компонента TDBGrid в методе OnDrawColumnCell позволяет не только выводить в ячейке текст методом TextOut, но и размещать в ячейках графические изображения. В этом случае используется метод Draw свойства Canvas.

Модифицируем наш пример, добавив в форму компонент TImageList и поместив в него несколько изображений.

Модифицируем код нашего приложения:

Соответствующий код для Delphi имеет вид:

procedure TForm1.DBGridDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn;  State: TGridDrawState);
var
  Im1: TBitmap;
begin
  Im1 := TBitmap.Create;
  if Column.FieldName = 'VenueNo' then
    with DBGrid1.Canvas do
    begin
      Brush.Color := clWhite;
      FillRect(Rect);
      if Table.FieldByName('VanueNo').Value = 1 then
        ImageList1.GetBitmap(0, Im1)
      else
        ImageList1.GetBitmap(2, Im1);
      Draw(round((Rect.Left + Rect.Right - Im1.Width) / 2), Rect.Top, Im1);
    end;
end;

Теперь в TDBGrid в колонке VenueNo находятся графические изображения.

Взято с https://delphiworld.narod.ru