Mode Malam
| Mode Tampilan
Penulis : admin

Home / Programming / Rowspan Dan ColSpan Di DataGridView Jika Memiliki Nilai Yang Sama - VB.NET
Rowspan Dan ColSpan Di DataGridView  Jika Memiliki Nilai Yang Sama - VB.NET

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


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.

advertisement

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.

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

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.

Cara Rowspan Dan ColSpan DataGridView  Jika Memiliki Nilai Yang Sama - VB.NETTriknya 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

advertisement

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.

 

Tags: #vbnet #datadidview #colspan #rowspan
Bagikan :

Komentar:

Silahkan berkomentar dengan baik dan bijak!

Name * :
Email :
Website :
Comment :


This website uses cookies to ensure you get the best experience on our website

learn more