Meningkatkan daya tarik ListView

Posted by Kamarudin • 1 minute read • Comments

ListView adalah salah satu komponen VB yang digunakan untuk menampilkan data dalam format tabel, lihat gambar :

Sayangnya secara default ListView tidak mempunyai kemampuan untuk menghasilkan tampilan seperti di bawah ini, tetapi jangan khawatir dengan sedikit permainan kode kita bisa membuat tampilan ListView menjadi seperti berikut :

Oke kita langsung saja, buat design program seperti berikut :

kemudian copy paste kode berikut :

Private Sub setBackColorListView(ByVal objList As ListView, ByVal objPic As PictureBox)

    Dim i As Long

    objPic.BackColor = objList.BackColor
    objPic.ScaleMode = vbTwips
    objPic.BorderStyle = vbBSNone
    objPic.AutoRedraw = True

    objPic.Width = objList.Width
    objPic.Height = objList.ListItems(1).Height * (objList.ListItems.Count)
    objPic.ScaleHeight = objList.ListItems.Count
    objPic.ScaleWidth = 1
    objPic.DrawWidth = 1
    objPic.Cls

    For i = 1 To objList.ListItems.Count
       If i Mod 2 = 0 Then
         objPic.Line (0, i - 1)-(1, i), RGB(255, 255, 255), BF

       Else
         objPic.Line (0, i - 1)-(1, i), RGB(239, 239, 239), BF 'ganti warna posisinya disini
       End If
    Next

    objList.Picture = objPic.Image
End Sub

Contoh penggunaan

Private Sub Form_Load()
    Dim x As Long

    With ListView1
        .View = lvwReport
        .GridLines = True
        .ColumnHeaders.Add , , "No.", 500
        .ColumnHeaders.Add , , "Item", 4700

        For x = 1 To 10
            .ListItems.Add , , x
            .ListItems(x).SubItems(1) = "Item " & x
        Next
    End With

    Call setBackColorListView(ListView1, Picture1) 'panggil prosedurnya disini
End Sub

Selamat mencoba :blush:

Comments