DeretCode|

Tips, Trik dan Tutorial
Seputar IT, Coding, Internet Marketing, Keahlian, Pendidikan, Hobi Dan Lainnya
Night :

Cara Rowspan Dan ColSpan DataGridView Jika Memiliki Nilai Yang Sama - VB.NET

advertisement
    Sebenarnya control DataGridView tidak memiliki fungsi untuk melakukan rowspan ataupun colspan, sebagaimana pendahulunya yaitu control GridView pada .Net 3.5. Sehingga untuk membuat rowspan maupun colspan perlu melakukan trik sebagai berikut.

Membuat Rowspan Pada cell DataGridView

Disini kita akan mencoba menspan baris jika cell nya memiliki nilai yang sama pada kolom sebelumnya di baris yang sama. Seperti pada gambar berikut.

Triknya sederhana kita hanya perlu menggunakan Event Handle CellPainting yang ada pada DataGridView. Kemudian kita komparasi nilai Baris Ke 1 pada Kolom A dengan Baris Ke 1 pada Kolom B. Kemudian kita hapus border bawah lalu sembunyikan Nilai pada baris selanjutnya jika nilainya sama. Syntaxnya sebagai berikut.

    Private Sub DataGridView1_CellPainting(sender As Object, e As DataGridViewCellPaintingEventArgs) Handles DataGridView1.CellPainting
        Try
            If e.RowIndex < dgv.Rows.Count - 1 Then
                If e.Value.ToString = dgv.Rows(e.RowIndex + 1).Cells(e.ColumnIndex).Value.ToString Then 'menghapus Border
                    e.AdvancedBorderStyle.Bottom = DataGridViewAdvancedCellBorderStyle.None
                    e.CellStyle.BackColor = Color.White
                End If
            End If
            If e.RowIndex >= 1 Then 'Menyembunyikan Nilai
                If e.Value.ToString = dgv.Rows(e.RowIndex - 1).Cells(e.ColumnIndex).Value.ToString Then
                    e.CellStyle.BackColor = Color.White
                    e.Graphics.FillRectangle(New SolidBrush(e.CellStyle.BackColor), e.CellBounds)
                    e.PaintBackground(e.CellBounds, False)
                    If dgv.CurrentRow IsNot Nothing Then
                        If dgv.CurrentRow.Index.ToString <> e.RowIndex.ToString Then
                            e.Handled = True
                        End If
                    Else
                        e.Handled = True
                    End If
                End If
            End If
        Catch ex As Exception
            'MessageBox.Show(ex.Message)
        End Try
    End Sub

Membuat Colspan Pada cell DataGridView

Sama seperti cara membuat rowspan. Kita akan mencoba menspan kolom jika memiliki nilai yang sama. Hasilnya akan seperti gambar berikut.
Triknya juga sederhana kita hanya perlu menggunakan Event Handle CellPainting. Kemudian kita komparasi nilai Baris Ke 1 pada Kolom A dengan Baris Ke 2 pada Kolom A. Kemudian kita hapus border kanan lalu sembunyikan Nilai pada kolom selanjutnya jika memilki nilai yang sama. Codenya sebagai berikut. Syntaxnya sebagai berikut.

    Private Sub DataGridView1_CellPainting(sender As Object, e As DataGridViewCellPaintingEventArgs) Handles DataGridView1.CellPainting
        Try
            If e.ColumnIndex < dgv.Columns.Count - 1 Then
                If e.Value.ToString = dgv.Rows(e.RowIndex).Cells(e.ColumnIndex + 1).Value.ToString Then 'Menghapus border
                    e.AdvancedBorderStyle.Bottom = DataGridViewAdvancedCellBorderStyle.None
                    e.CellStyle.BackColor = Color.White
                End If
            End If
            If e.ColumnIndex >= 1 Then
                If e.Value.ToString = dgv.Rows(e.RowIndex).Cells(e.ColumnIndex - 1).Value.ToString Then 'Menyembunyikan Nilai
                    e.CellStyle.BackColor = Color.White
                    e.Graphics.FillRectangle(New SolidBrush(e.CellStyle.BackColor), e.CellBounds)
                    e.PaintBackground(e.CellBounds, False)
                    If dgv.CurrentRow IsNot Nothing Then
                        If dgv.CurrentRow.Index.ToString <> e.RowIndex.ToString Then
                            e.Handled = True
                        End If
                    Else
                        e.Handled = True
                    End If
                End If
            End If
        Catch ex As Exception
            'MessageBox.Show(ex.Message)
        End Try
    End Sub



Oke itu tadi trik cara membuat rowspan dan colspan di DataGridView. Jangan lupa di share jika kalian merasa artikel ini bermanfaat, dan jangan lupa tinggalkan jejak dengan berkomentar dibawah ini.
advertisement



0 Komentar untuk " Cara Rowspan Dan ColSpan DataGridView Jika Memiliki Nilai Yang Sama - VB.NET"

Silahkan berkomentar dengan baik dan bijak!