Bei mir steht DefaultDrawing auf TRUE, während ich in DrawColumnCell das Icon anzeigen lasse. Dieses befindet sich im Feld BILD der Tabelle Einsatz; letztere "füttert" das DBGrid mit Daten.
Delphi-Quellcode:
procedure TFormMain.DBGrid_EinsatzDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
VAR
Bild : TDBImage;
begin
IF DatMod.Dsrc_Einsatz.DataSet.RecNo > 0 THEN
BEGIN
IF Column.FieldName = 'BILD' THEN
BEGIN
Bild := TDBImage.Create(FormMain);
Bild.Visible := FALSE;
Bild.Width := 250;
Bild.Height := 250;
Bild.Center := TRUE;
Bild.Proportional := TRUE;
Bild.Stretch := TRUE;
Bild.DataSource := DatMod.Dsrc_Einsatz;
Bild.DataField := 'BILD';
DBGrid_Einsatz.Canvas.FillRect(Rect);
DBGrid_Einsatz.Canvas.StretchDraw(Rect, Bild.Picture.Bitmap);
FreeAndNil(Bild);
END;
END;
end;
Was ist eigentlich ein DBStringGrid? Ich verwende hier TjvDBGrid aus den
Jedi-Komponenten ...