Showing posts with label DataGridView. Show all posts

Membuat Menu Pada DataGridView

Seperti yang kita ketahui bahwa tabel pada VB.NET menyimpan banyak fitur yang bisa kita pakai dan salah satunya adalah dengan menambahkan menu ketika DataGridView tersebut mendapatkan event klik kanan dari mouse.

Caranya mudah, yang penting anda sudah memasukan objek DataGridView dan ContentMenuStript, lalu masukan kode di bawah ini pada event CellMouseClick pada DataGridView yang anda pakai.

Private Sub DataGridView1_CellMouseClick(sender As Object, e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles tblData.CellMouseClick
        
         'pastikan DataGridView1 tersebut sudah ada datanya dan baris dalam DataGridView1 sudah terpilih
         If DataGridView1.RowCount > 0 AndAlso e.RowIndex > -1 Then
            If e.Button = Windows.Forms.MouseButtons.Right Then
                ContentMenuStrip1.Show(Windows.Forms.Cursor.Position.X, Windows.Forms.Cursor.Position.Y)
            End If
        End If
    End Sub

Export data dari DataGridView ke file CSV

Tabel merupakan salah satu komponen yang sangat berguna dalam menampilkan data. Adakalanya mengharuskan kita mengambil data dari DataGridView tersebut ke sebuah format yang berbeda seperti CSV.

Berikut script untuk mengexport data dari DataGridView ke CSV.

Private Sub exportCSV()
        'test to see if the DataGridView has any rows
        If tblData.RowCount > 0 Then
            Dim value As String = ""
            Dim dr As New DataGridViewRow()
            Dim swOut As New StreamWriter("d:\test.csv")

            'write header rows to csv
            For i As Integer = 0 To tblData.Columns.Count - 1
                If i > 0 Then
                    swOut.Write(",")
                End If
                swOut.Write(tblData.Columns(i).HeaderText)
            Next

            swOut.WriteLine()

            'write DataGridView rows to csv
            For j As Integer = 0 To tblData.Rows.Count - 1
                If j > 0 Then
                    swOut.WriteLine()
                End If

                dr = tblData.Rows(j)

                For i As Integer = 0 To tblData.Columns.Count - 1
                    If i > 0 Then
                        swOut.Write(",")
                    End If

                    value = dr.Cells(i).Value.ToString()
                    'replace comma's with spaces
                    value = value.Replace(","c, " "c)
                    'replace embedded newlines with spaces
                    value = value.Replace(Environment.NewLine, " ")

                    swOut.Write(value)
                Next
            Next
            swOut.Close()
        End If
End Sub


- Copyright © Yuk Belajar VB.NET Bersama-Sama ^^ - Hatsune Miku - Powered by Blogger - Designed by Johanes Djogan -