Membuat dbgridEH progress

Posted by

Delphi        : Delphi 7
Database   : Access 2003
Koneksi     : Ado
Tambahan : GridEh
*note : untuk spesifikasi perlalatan tempur tidak sama dengan diatas harap menyesuaikan
Saya akan coba share lagi kemampuan dari DbgridEh dari ehlib yang menjadi andalanku hahaha, kali ini adalah trik menampilkan persentase dan progress didalam grid, soal pengunaan terserah kita-kita yah, bisa buat presentase pendapatan suara, presentase jumlah hutang/piutang, luas wilayah , populasi penduduk dan perbandingan lain-lainya, sebenarnya ada demonya nih tapi ga papa, buat mempermudah belajar aja bagi yang males oprek, bagi yang masih bingung mau bikin apa sih ni?? lihat gambar paling bawah dulu aja (soale saya juga bingung mo kasih judul apaan) :D…
Oke saya mulai, saya sudah persiapkan sebuah database dan saya akan coba membuat presentase dari sebuah wilayah di suatu kecamatan, saya menggunakan ADOTable > klik kanan > add all field (lihat gambar) , ini ga terbatas komponen adotabel loh ya, yang penting bisa nampilin data ke Grid aja soalnya nanti yg di koding gridnya jadi yang wajib pakek ya gridEhnya…
egprog-01
Setelah menambahkan semua field ke dataset langkah selanjutnya adalah, tambahkan semua kolom di GridEhnya, yaitu dengan cara klik kanan grid >  Columns Editor > add all field (lihat pada gambar), beri caption pada titlenya suka-suka kita, maka semua kolom sudah ditambahkan ke Grid…
egprog-02
Langkah berikutnya kita tambahkan kolom jadi-jadian di grid, kita lakukan seperti langkah diatas, klik kanan grid > columns editor>add new , kemudian kita tambahkan caption pada titlenya  lewat object properties (lihat gambar dibawah)
egprog-03
Jika langkah diatas di ikuti dengan benar maka kita akan tampak memiliki grid seperti tampak pada gambar dibawah ini, semua field dari dataset muncul, dan kolo jadi-jadian yang kita bikin terakhir akan kosong…
egprog-04
setelah itu pahami konsep presentase yaitu : nilai/total_nilai * 100, kita harus dapatkan nilai total dari tabel diatas, untuk memudahnya saya menggunakan footer SUM nya dbgrideh silahkan buka link ini bagi yang mau mempelajari. Kalau yang mau bikin prosedur atau fungsi sendiri buat hitung totalnya silahkan sah-sah dan bisa saja :D, jika menggunakan footer SUM maka kondisi terakhir form yang kita buat akan namapak seperti gambar dibawah ini…
egprog-06
Nah setelah mendapatkan value totalnya, sekarang langkah terakhir adalah memberi koding pada kolom bayangan yang tadi kita buat, caranya sorot (klik) title (kalau contoh saya presentase) maka akan ada indikator aktif pada title tersebut, kemudian ke object properties > event >OnAdvDrawDataCell (perhatikan gambar)
egprog-07
Kemudian masukan coding berikut pada even tersebut :
procedure Tfutama.dbgrdh1Columns3AdvDrawDataCell(Sender: TCustomDBGridEh;
  Cell, AreaCell: TGridCoord; Column: TColumnEh; const ARect: TRect;
  var Params: TColCellParamsEh; var Processed: Boolean);
begin
if (tbl1.RecordCount=0) or (tbl1.Active=False)then Abort;

  Sender.DefaultDrawColumnDataCell(Cell, AreaCell, Column, ARect, Params);
  DrawProgressBarEh(tbl1.FieldByName('luas').AsFloat, 0, DBGridEh1.Columns[2].Footer.SumValue,
  Sender.Canvas, ARect, clSkyBlue, cl3DDkShadow, clNone);
  Processed := True;
end;
Penjelasan :di line pertama if (tbl1.RecordCount=0) or (tbl1.Active=False)then Abort; maksutnya adalah antisipasi error jika tidak ada data maka koding dibawahnya tidak diajalankan.
selanjutnya, tbl1.FieldByName(‘luas’).AsFloat, 0, DBGridEh1.Columns[2].Footer.SumValue, tbl1 adalah name dari dataset yang saya gunakan, kemudian (‘luas’) adalah field yang akan di ambil presentase-nya, 0 (nol) adalah nilai minimal dari range yang kita buat,DBGridEh1.Columns[2].Footer.SumValue adalah nilai total yang saya ambilkan dari footer sum, bisa diganti dengan variabel hasil dari fungsi atau prosedur yang dibuat untuk menghitung total, bisa juga langsung diketik nilainya, clSkyBlue warna progressbar yang akan ditampilkan bisa diubah-ubah sesuai selera.
Jika langkah tersebut dilakukan dengan benar dan pengambilan nilai yang benar maka, RUN aplikasi yang kita buat dan progressbar serta presentase akan muncul pada grid, dan penggunanya pun tentu bermacam-macam, karena ini hanyalah sebuah contoh…
egprog-08
Selanjutnya kreasikan trik ini dengan aplikasi anda untuk membuat aplikasi yang lebih informatif dan goodlooking, semoga tutorial ini bisa menjadi manfaat  bagi yang membutuhkan…


Demo Blog NJW V2 Updated at: 21.24

0 komentar:

Posting Komentar

Text Widget

Popular Posts