Membuat Tombol Kode Cetak Isi DataGridView ke Printer di Aplikasi Form Penjualan Dengan Visual Basic .NET
Pada artikel Blog kali ini Admin akan berbagi kode yang berfungsi untuk mencetak document baik itu database atau kontrol form yang ada didalamnya termasuk DataGridView.
Pada artikel sebelumnya kita sudah membuat sebuah Aplikasi sederhana yaitu sebuah Aplikasi Form Penjualan tanpa Database. Namun kali ini kita akan menambahkan Tombol Print pada Form yang sudah kita buat sebelumnya.
Berikut adalah Langkah-langkah dalam pembuatan Kode Cetak untuk tombol Print :
Kode Cetak untuk tombol Print di VB.Net
1. Buka Project Aplikasi Form Penjualan tanpa Database yang sudah kita buat
2. Tambahkan 1 Button dengan Caption: Print dan Name :ButtonPrint
3. Tambahkan kontrol PrintDocument1 yang ada di Toolbox
4. Copy-paste kode dibawah ini pada bagian PrintDocument1 :
Private Sub PrintDocument1_PrintPage(sender As Object, e As Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
' ===== FONT (AMAN UNTUK STRUK) =====
Dim fontHeader As New Font("Courier New", 12, FontStyle.Bold)
Dim fontSubHeader As New Font("Courier New", 10)
Dim fontIsi As New Font("Courier New", 10)
Dim fontBold As New Font("Courier New", 10, FontStyle.Bold)
Dim y As Integer = 5
Dim pageWidth As Integer = e.PageBounds.Width
' ===== FORMAT RATA TENGAH =====
Dim sfCenter As New StringFormat()
sfCenter.Alignment = StringAlignment.Center
' ===== HEADER RATA TENGAH =====
e.Graphics.DrawString("ACHAN MARKET", fontHeader, Brushes.Black,
pageWidth / 2, y, sfCenter)
y += fontHeader.Height + 2
e.Graphics.DrawString("Jl. Petir Utama No. 50", fontSubHeader, Brushes.Black,
pageWidth / 2, y, sfCenter)
y += fontSubHeader.Height + 2
e.Graphics.DrawString("Cipondoh Tangerang", fontSubHeader, Brushes.Black,
pageWidth / 2, y, sfCenter)
y += fontSubHeader.Height + 2
e.Graphics.DrawString("0812-3456-7890", fontSubHeader, Brushes.Black,
pageWidth / 2, y, sfCenter)
y += fontSubHeader.Height + 4
' ===== GARIS PEMISAH =====
Dim garis As String = "=============================="
e.Graphics.DrawString(garis, fontIsi, Brushes.Black,
pageWidth / 2, y, sfCenter)
y += fontIsi.Height + 4
' ===== ISI BARANG =====
For Each row As DataGridViewRow In DataGridView1.Rows
If Not row.IsNewRow Then
Dim nama As String = row.Cells(1).Value.ToString()
Dim harga As Decimal
Decimal.TryParse(row.Cells(2).Value.ToString().Replace(".", "").Replace("Rp", ""), harga)
Dim qty As Integer
Integer.TryParse(row.Cells(3).Value.ToString(), qty)
Dim total As Decimal = harga * qty
e.Graphics.DrawString(nama, fontIsi, Brushes.Black, 5, y)
y += fontIsi.Height + 2
e.Graphics.DrawString($"{qty} x {harga:N0} {total:N0}",
fontIsi, Brushes.Black, 5, y)
y += fontIsi.Height + 4
End If
Next
' ===== GARIS PEMISAH =====
e.Graphics.DrawString(garis, fontIsi, Brushes.Black,
pageWidth / 2, y, sfCenter)
y += fontIsi.Height + 4
' ===== TOTAL & CASH =====
e.Graphics.DrawString("TOTAL BAYAR : Rp " &
LabelTotalBayar.Text.Replace("Rp", "").Trim(),
fontBold, Brushes.Black, 5, y)
y += fontBold.Height + 2
e.Graphics.DrawString("CASH : Rp " & TextBoxCash.Text,
fontIsi, Brushes.Black, 5, y)
y += fontIsi.Height + 6
' ===== FOOTER =====
e.Graphics.DrawString("Terima Kasih", fontIsi, Brushes.Black, 5, y)
End Sub
5. Pada ButtonPrint, ketik kode dibawah ini :
Private Sub ButtonPrint_Click(sender As Object, e As EventArgs) Handles ButtonPrint.Click
Dim pd As New PrintDialog()
pd.Document = PrintDocument1
If pd.ShowDialog() = DialogResult.OK Then
Try
PrintDocument1.Print()
Catch ex As Exception
MessageBox.Show("Terjadi kesalahan saat mencetak: " & ex.Message)
End Try
Else
MessageBox.Show("Cetak dibatalkan, pilih printer dulu.")
End If
End Sub
6. Pada Form1_Load ketik kode dibawah ini :
PrintDocument1.DefaultPageSettings.PaperSize = New Printing.PaperSize("Custom", 280, 600)
7. Jalankan Project
8. Isi transaksi
9. Tekan Tombol Print, ketika tekan tombol Print Muncul Kotak Dialog Print
10. Pilih mode Cetak. Ke Printer atau cetak layar pada XPS Viewer, jika Komputer anda tidak ada Printernya maka pilih Microsoft XPS Document Writer tekan OK dan Simpan hasil Cetakan
11. Hasil akhir jika menggunakan cetak Microsoft XPS Document Writer :
| Kode Print VB.NET |
Catatan :
- Hasil yang ada pada cetakan Microsoft XPS Document dengan Printer akan sama
- Kode ini bisa diseuaikan dengan isi Database Anda yang lain
Demikinalah artikel pada hari ini tentang Membuat Tombol Kode Cetak DataGridView ke Printer di Aplikasi Form Penjualan Dengan Visual Basic .NET, semoga artikel ini bermanfaat buat kita semua.Amin.
Selamat mencoba semoga berhasil
Post a Comment for "Membuat Tombol Kode Cetak Isi DataGridView ke Printer di Aplikasi Form Penjualan Dengan Visual Basic .NET"
Berkomentarlah dengan sopan sesuai tema yang Anda baca.
Jangan menyimpang dari tema