Rabu, 26 Desember 2012

Optimisasi dbGrid III


"Just Sharing Knowledge on the web"

 Melanjutkan Optimisasi dbGrid dari artikel sebelumnya,sekarang kita lanjutkan Optimisasi dbGrid nya,yaitu menampilkan data bertipe Memo dan mengedit nya secara Popup.
screenshoot nya sperti gambar di atas.
kita langsung aja deh ke codingnya.

Seperti biasa saya asumsikan anda mempunyai sebuah tabel dengan salah satu fieldnya bertipe memo.

Menampilkan data field bertipe memo
Secara default jika kita memiliki sebuah field bertipe memo maka field tersebut hanya akan bertuliskan "MEMO" di dbGrid,untuk menampilkan bukanlah hal yang sulit,kita hanya menuliskan 1 baris code pada event OnGetText pada fieldnya.untuk memperjelas berikut screen shootnya:


lalu ketikan code berikut:


procedure Tdm.QBukuDeskripsiGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
text:=copy(qbuku.fieldbyname('Deskripsi').asstring,1,30);
end;

gampangkan?hanya dengan fungsi copy sekarang field bertipe memo sudah tampil di dbGrid.
lalu bagaimana untukmengeditnya secara Popup(itu lho jendela yang muncul keluar),jawabannya adalah mudah.yang diperlukan adalah sebuah Form untuk melakukan pengeditan,tambahkan saja di dalam Form itu sebuah Memo,Panel dan button kurang lebih seperti screeen shoot di atas.jangan lupa untuk merubahnya Formnya menjadi Available Form di Project Options. pada event onDblClick di dbGrid tambahkan code berikut:

procedure TForm2.DBGrid1DblClick(Sender: TObject);
begin
if dbgrid1.SelectedField=dm.QBuku.FieldByName('Deskripsi') then
With TForm7.Create(nil) do
try
memo1.Text:=dm.QBuku.fieldbyname('Deskripsi').AsString;
Showmodal;
dm.QBuku.Edit;
dm.QBuku.FieldByName('Deskripsi').AsString:=memo1.Text;
Finally Form7.Free; end;
end;

*Form7 adalah Form yang dibuat tadi.
saya rasa tidak perlu ditambahkan commentar pada code nya karena sangat mudah dipahami ya kan?.

Tidak ada komentar:

Posting Komentar