Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

andrea cerqueira

dbgrid e imagem

Recommended Posts

Eu tenho como mostrar uma imagem que vem do banco de dados, em uma dbgrid?

Na verdade está inserido só o caminho da imagem no db.

Se não tiver como mostrar a imagem, qual seria a solução, pois eu tenho uma table que tem além das informações basicas um campo de imagem, e gostaria de dar um select básico e mostrar tudo, só que com a imagem ao lado.

Valeu!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá andrea cerqueira.

 

Uma abordagem seria modificar o evento DrawCell do DBGrid. Exemplo:

 

procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
 Field: TField; State: TGridDrawState);
var
 Bitmap: TBitmap;
 BlobStream: TStream;
 DBGrid: TDBGrid absolute Sender;
begin
 if Field.FieldName = 'Nome do seu campo BLOB' then
 begin
   Bitmap := TBitmap.Create;
   try
     try
       BlobStream := DBGrid.DataSource.DataSet.CreateBlobStream(Field, bmRead);
       Bitmap.LoadFromStream(BlobStream);
       DBGrid.Canvas.Draw(Rect.Left, Rect.Top, Bitmap);
       //DBGrid.Canvas.StretchDraw(Rect, Bitmap);
     except
       DBGrid.DefaultDrawDataCell(Rect,Field,State);
     end;
   finally
     Bitmap.Free;
   end;
 end
 else
   DBGrid1.DefaultDrawDataCell(Rect,Field,State);
end;

 

Mas você precisaria melhorar porque esse modo só funcionaria com Bmps...

Abraços,

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.