Menampilkan gambar di Cell DBGRID. Ini merupakan salah satu cara bagaimana kita ingin menampilkan sebuah gambar pada DBGRID,disini saya memberikan contohnya yaitu dimana Jika Status Lunas=True maka tampilkan gambar SENYUM dan jika False maka tampikan gambar Seperti orang MARAH..
Lihat contoh screenshot dibawah ini :
Ada juga yang menampilkan gambarnya itu berdampingan dengan isi record.
OK, kita langsung saja ke Pembahasan selanjutnya,disini saya hanya memberikan contoh yang Gambar Pertama saja.
Pertama siapkan komponen"y : 2 buah komponen Image,Adotable,Adoconnection,DataSource,DBGrid.
komponen Image isi gambarnya sesuai yang di inginkan,image1 gambar apa,image2 gamba apa..
Kedua, Langsung saja Listing Programnya..wkwkwkw....
procedure TForm1.dbgrd1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
bmpImage: tBitmap;
intX, intY: Integer;
begin
if DataSource1.DataSet.RecNo > 0 then
begin
if column.Title.Caption = 'Lunas' then
with dbgrd1.Canvas do
begin
fillRect(rect);
bmpImage := tBitmap.Create;
try
if dbgrd1.DataSource.DataSet.FieldByName('Lunas').AsBoolean = True then
bmpImage.Assign(Image1.Picture.Bitmap);
if dbgrd1.DataSource.DataSet.FieldByName('Lunas').AsBoolean = False then
bmpImage.Assign(Image2.Picture.Bitmap);
intX := ((rect.Right - rect.Left) div 2) -
(bmpImage.Width div 2);
intY := ((rect.Bottom - rect.Top) div 2) -
(bmpImage.Height div 2);
draw(rect.Left + intX, rect.Top + intY, bmpImage);
finally
bmpimage.Free;
end;
end;
end;
end;
Cuma gitu saja,jangan Lupa Simpan pada event DrawColumnCell.
Sekian...
Pertama siapkan komponen"y : 2 buah komponen Image,Adotable,Adoconnection,DataSource,DBGrid.
komponen Image isi gambarnya sesuai yang di inginkan,image1 gambar apa,image2 gamba apa..
Kedua, Langsung saja Listing Programnya..wkwkwkw....
procedure TForm1.dbgrd1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
bmpImage: tBitmap;
intX, intY: Integer;
begin
if DataSource1.DataSet.RecNo > 0 then
begin
if column.Title.Caption = 'Lunas' then
with dbgrd1.Canvas do
begin
fillRect(rect);
bmpImage := tBitmap.Create;
try
if dbgrd1.DataSource.DataSet.FieldByName('Lunas').AsBoolean = True then
bmpImage.Assign(Image1.Picture.Bitmap);
if dbgrd1.DataSource.DataSet.FieldByName('Lunas').AsBoolean = False then
bmpImage.Assign(Image2.Picture.Bitmap);
intX := ((rect.Right - rect.Left) div 2) -
(bmpImage.Width div 2);
intY := ((rect.Bottom - rect.Top) div 2) -
(bmpImage.Height div 2);
draw(rect.Left + intX, rect.Top + intY, bmpImage);
finally
bmpimage.Free;
end;
end;
end;
end;
Cuma gitu saja,jangan Lupa Simpan pada event DrawColumnCell.
Sekian...
Terima kasih ya nanti saya mau coba semua yang dari sahabat delphier,,,
ReplyDelete