Langsung print via DBgridEH dan PrintDbgridEH

Posted by

Delphi        : Delphi 7
Database   : Ms Access
Koneksi     : ADO Connection
Komponen : DbGridEh + PrintDbGridEh (wajib)
*note : untuk spesifikasi perlalatan tempur tidak sama dengan diatas harap menyesuaikan
Kali ini saya akan membahas bagaimana cara mencetak langsung data yang tampil pada DbGrid tanpa harus menggunakan report dan tanpa harus mendesainnya terlebih dahulu, sekali lagi ehlib sudah menyediakan komponen yang sangat bagus untuk hali ini yaitu TPrintDbGridEh, komponen yang terletak di pallete ehlib (install dulu kalau belum punya), berikut komponenya
printeh-01
Perlu dicatat, bahwa komponen ini hanya bekerja pada DbGridEh, jadi komponen grid yang lain tidak disupport oleh komponen ini, masukan sebuah komponen PrintDbGridEh pada form yang kita buat, kemudian atur properties DbGridEh nya arahkan ke DbGridEh yang akan di print datanya :
printeh-02
Setelah itu, kurang lebih saya mempunyai desain form seperti gambar dibawah ini, yang datanya ingin langsung saya print, setelah melakukan setting pada komponen diatas, langkah selanjutnya kita akan memberikan koding pada tombol print
printeh-03
Berikut koding yang saya buat :
1
2
3
4
5
6
procedure Tfmain.btn1Click(Sender: TObject);
begin
 PrintEh.Title:=eTitle.Lines;
 PrintEh.PageFooter.CenterText:=efooter.Lines;
 PrintEh.Preview;
end;
Penjelasan:
  • PrintEh.Title:=eTitle.Lines; adalah untuk mengambil Title pada report lewat eTitle (Komponen : Memo). tidak harus lewat memo kita isikan langsung lewat properties Title pun bisa jika memang judulnya statis.
  • PrintEh.PageFooter.CenterText:=efooter.Lines; mengambil string dari eFooter (Komponen : Memo). misa digunakan untuk kolom tanda tangan, keterangan atau sebagainya, memiliki 3 posisi yang bisa digunakan yaitu : CenterText, RightText, dan LeftText, silahkan dieksplorasi lebih lanjut sama dengan atas ini bisa langsung di isikan lewat properties.
  • PrintEh.Preview; untuk melihat hasil dari data yang akan di print yaitu menggunakan Preview, jika ingin mencetak langsung bisa menggunakan perintah .Print, maka tidak akan melakukan preview akan langsung mencetak;
Berikut contoh hasil dari koding diatas :
printeh-04
printeh-05
printeh-06
Catatan :
  • Saya belum bisa merubah ukuran kertas maupun orientasi tampilan (Landscape/Portrait) secara langsung dari komponen ini, tetapi bisa dilakukan lewat printer setup sebelum print tampilkan dengan preview, kita bisa merubahnya lewat sana.
  • Agar lebar kolom Grid masuk sesuai di kertas (Area Print) ubah propeties Options> FitGridToPageWidth menjadi True
Setelah mencoba bertanya di forumnya ehlib, ternyata untuk merubah page orientation bisa, tapi emng belum support untuk merubah ukuran kertasnya, ini jawaban dari admin nya :
Hello
You can use next code to change the page orientation:
uses ……, PrViewEh, Printers.
…………..
procedure TForm1.bPreviewClick(Sender: TObject);
begin
PrinterPreview.Orientation := poLandscape;
PrintDBGridEh1.Preview;
end;
Unfortunately, VCL doesn’t have methods to change page size.
Bets regards
Admin
Berikut tutorial singkat dari saya, semoga bisa menjadi manfaat dan ilmu jariyah, sebarkan kepada siapapun siapa tahu ada yang membutuhkan, tetapi tetap pada etika sertakan sumber atau setidaknya ijin penulis jika mengkopi isi dari artikel ini.
Selamat berkarya pejuang Pascal :)


Demo Blog NJW V2 Updated at: 21.41

0 komentar:

Posting Komentar

Text Widget

Popular Posts