Sunday, April 19, 2015

Cara Mencetak (Print) isi Datagridview di VB.Net

Urusan cetak mencetak adalah hal wajib ketika sedang mengembangkan program penjualan atau program lainnya (mencetak struk/nota/resep dll). Kita dapat menggunakan PrintDocument, Crystal Report maupun Microsoft Report Viewer.

Pada tutorial kali ini saya akan membagikan cara untuk mencetak isi datagridview pada vb net

Misalnya kita akan mencetak isi datagridview seperti pada gambar dibawah ini:


Script :
--------------------------------------------------------------------------------------------------------------------
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
        
        For baris As Integer = 0 To DataGridView1.RowCount - 2
            tinggi+= 10
            e.Graphics.DrawString(DataGridView1.Rows(baris).Cells(1).Value.ToString, New Drawing.Font("Arial", 8), Brushes.Black, 4, tinggi)
            e.Graphics.DrawString(DataGridView1.Rows(baris).Cells(2).Value.ToString, New Drawing.Font("Arial", 8), Brushes.Black, 300, tinggi)
            e.Graphics.DrawString(DataGridView1.Rows(baris).Cells(3).Value.ToString, New Drawing.Font("Arial", 8), Brushes.Black, 440, tinggi)
            e.Graphics.DrawString(DataGridView1.Rows(baris).Cells(4).Value.ToString, New Drawing.Font("Arial", 8), Brushes.Black, 600, tinggi)
            e.Graphics.DrawString(DataGridView1.Rows(baris).Cells(5).Value.ToString, New Drawing.Font("Arial", 8), Brushes.Black, 630, tinggi)
        Next
               
End Sub
------------------------------------------------------------------------------

Penjelasan skrip:

  • spasi adalah variabel bertipe double (harus dideklarasikan sebelumnya), variabel spasi ini digunakan untuk mengatur jarak antar karakter secara vertikal. Dalam contoh diatas tinggi di set berjarak 10 antara karakter diatasnya.
  • Angka 4,300,440,600 dan 630 adalah jarak antar tulisan secara horizontal. Misalnya (4,tinggi) berarti tulisan berada pada jarak 4 satuan dari kiri kertas, sedangkan dari atas kertas berjarak sesuai dengan nilai variabel tinggi.



Untuk selanjutnya ketikkan skrip berikut pada sebuah button untuk menginstruksikan perintah mencetak


Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        
        With PrintDocument1
            tinggi = 10
            .PrinterSettings.DefaultPageSettings.Landscape = False
            .Print()
        End With
  
End Sub

Ingat sebelumnya deklarasikan variable tinggi dengan tipe double
dim tinggi as double

Skrip trsebut menghasilkan cetakan sbb:



Semoga bermanfaat


6 comments:

  1. Mas untuk dapat print dengan menggunakan LX300 ataupun TMU 220 dan settingan print nya ada info header dan footer nya, seperti apa source code nya.
    Terima kasih untuk infonya.

    Salam.

    ReplyDelete
  2. permisi mas saya mau nanya cara buat struk di vb.net gimana ya.. abis transaksi langsung cetak data yg barusan bertransaksi..
    pengen tau koding button cetaknya ...
    terima kasih

    ReplyDelete
  3. pakek cristal report aja enak mbk... cuma saran aja

    ReplyDelete
  4. Cara nampilkan total rp. 3.615.000 gimana gan ?

    ReplyDelete
  5. permisi mas saya mau nanya cara cetak data yang ada di datagridview di vb.net gimana ya..
    abis transaksi langsung cetak data yg barusan bertransaksi..
    pengen tau koding button cetaknya ...
    terima kasih

    ReplyDelete
  6. Casino & Hotel - MapYRO
    Search for Casino & Hotel in Las 전주 출장샵 Vegas, NV. Get directions, reviews and information for 파주 출장샵 Casino & Hotel in Las Vegas, 군포 출장마사지 NV. Casino Hotel Casino 익산 출장안마 Hotel Map. 777 나주 출장안마 Fremont Street

    ReplyDelete

Ads Inside Post