Recents in Beach

Menguasai DataGridView di Vb.Net (Part 10) - Printing

Hal yang paling penting dalam sebuah laporan adalah hasil cetak (Printing), maka pada kesempatan kali ini AlifaVb ingin membahasa cara sederhana mencetak isi dari DataGridView pada Vb.Net. Persiapkan dahulu Form yang berisi DataGridView dengan beberapa data didalamnya.

Buatlah sebuah form dan tambahkan satu buah DataGridView, dua buah Button dan PrintDocument disign tampilannya kira-kira seperti ini.

Printing DataGridView

Buka CodingView dari Form2 tersebut tulislah kode dibawah ini.

 Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        PrintDocument1.Print()
    End Sub
    Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
        Dim bm As New Bitmap(Me.DataGridView1.Width, Me.DataGridView1.Height)
        DataGridView1.DrawToBitmap(bm, New Rectangle(0, 0, Me.DataGridView1.Width, Me.DataGridView1.Height))
        e.Graphics.DrawImage(bm, 0, 0)
    End Sub

Bila tidak ada yang error maka default printer snds aksn mencetak data yang ada pada DataGridView.

DataGRidView Print Data

Kode lengkap dari Form2 seperti ini.

Imports System.Data.OleDb
Public Class Form2
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim connectionString As String = "provider=microsoft.ACE.oledb.12.0;data source=db_keuangan.accdb"
        Dim sql As String = "SELECT * FROM Kas"
        Dim connection As New OleDbConnection(connectionString)
        Dim dataadapter As New OleDbDataAdapter(sql, connection)
        Dim ds As New DataSet()
        connection.Open()
        dataadapter.Fill(ds, "Kas")
        connection.Close()
        DataGridView1.DataSource = ds
        DataGridView1.DataMember = "Kas"
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        PrintDocument1.Print()
    End Sub
    Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
        Dim bm As New Bitmap(Me.DataGridView1.Width, Me.DataGridView1.Height)
        DataGridView1.DrawToBitmap(bm, New Rectangle(0, 0, Me.DataGridView1.Width, Me.DataGridView1.Height))
        e.Graphics.DrawImage(bm, 0, 0)
    End Sub
End Class


Silakan download projectnya disini.

Posting Komentar

0 Komentar