Home > Delphi > Memasukan gambar ke dalam cell DBGrid Delphi

Memasukan gambar ke dalam cell DBGrid Delphi

December 7th, 2009


Hay….dah lama bgt ga nulis blog lagi nih, sebelum tahun 2009 usai, saya pengen ngasih sedikit tips & trick delphi lagi nih. Gara-gara pusing ngerjain TA yang tak kunjung selesai :wallbash_tb: , mending saya share aja ya apa yang terakhir saya buat di delphi. kali ini tentang memasukan gambar ke dalam cell dbgrid di delphi, jadi dalam field tertentu terdapat gambar yang di masukan pada saat program dijalankan. Sebenernya udah banyak sih cara seperti ini, namun apa salahnya kalau saya bagiin lagi, mudah-mudahan berguna bagi yang membutuhkan. Mo tau gmana caranya? Yuk ikutin langkah-langkahnya key…

  1. Buat sebuah form seperti ini !
  2. form-awal

  3. Lakukan koneksi ke database !
  4. Tabel yang saya buat terdiri dari 3 field yaitu : nomor (int(autoincrement)), nama_barang(varchar(10)), status(varchar(10)).

  5. Tambahkah gambar ke dalam ImageList1 (terserah Anda, dalam contoh ini hanya 2 gambar)!
  6. imagelist

  7. Tulis kode program pada event DBGrid (OnDrawColumnCell) seperti berikut !
  8. ?View Code DELPHI
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    
    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    var
      bitmap : TBitmap;
      fixRect : TRect;
      bmpWidth : integer;
     
      imgIndex : integer;
    begin
      fixRect := Rect;
     
      if Column.Field = ADOTable1status then
      begin
        if ADOTable1status.Value = 'Hidup' then
          imgIndex := 0
        else
          imgIndex := 1;
     
        bitmap := TBitmap.Create;
        try
          ImageList1.GetBitmap(imgIndex,bitmap);
          bmpWidth := (Rect.Bottom - Rect.Top);
          fixRect.Right := Rect.Left + bmpWidth;
          DBGrid1.Canvas.StretchDraw(fixRect,bitmap);
        finally
          bitmap.Free;
        end;
        fixRect := Rect;
        fixRect.Left := fixRect.Left + bmpWidth;
      end;
      DBGrid1.DefaultDrawColumnCell(fixRect,DataCol,Column,State);
    end;
  9. Eits… belum selesai, langkah terkahir lakukan Add field pada komponen ADOTable1!
  10. addfieldKlik 2x komponen ADOTable1, kemudian klik kanan, dan pilih Add fields.

    Ok, semuanya udah beres tinggal Anda coba, dan nanti hasilnya seperti ini :

    form-akhir

Gampang kan :laugh_tb: Selamat mencoba !

Klik disini untuk mendownload project diatas!

Artikel Lainnya :

Share/Save/Bookmark

ianhade Delphi 285 views


  1. No comments yet.
  1. No trackbacks yet.

:dead: :pray: :clinguk2: :tob: :hoho: :jedug: :lempar: :mikir: :nyembah: :plis: :puyeng: :sikut: :sliweran: :diem: :evillaugh: :gemes: :hore: :lirik: :beer: :ngacir: :matabelo: :mataduitan: :mlorok: :nangis: :ngakak: :ngelamun: :ngikik: more »