Powerful Listview (Bag II)

BY IN Visual Basic 2 COMMENTS

Selain dapat digunakan untuk menampilkan data, object Listview dapat juga digunakan untuk mengedit ataupun menghapus data yang saat itu sedang disorot. Hal ini dapat dengan mudah dilakukan dengan perintah berikut ini:

recordset.AbsolutePosition = ListView1.SelectedItem

Perintah ini akan memindah posisi pointer ke record tertentu yang sesuai dengan posisi aktif pada Listview. Pada saat posisi pointer sudah merujuk pada record, maka kita bisa mengedit ataupun menghapus recordnya.

Sebuah variasi untuk menampilkan data-data pada Listview. Kita bisa membuat sebuah Sub yang otomatis akan memberi warna pada setiap row / baris dengan warna yang berbeda sehingga menjadi indah dipandang

Call SetListViewColor(ListView1, Picture5, vbWhite, vbGray)

Berikut adalah Sub programnya yang dapat kita simpan di module

Public Sub SetListViewColor(pCtrlListView As ListView, _
pCtrlPictureBox As PictureBox, _
Color1 As Long, _
Color2 As Long)

On Error GoTo SetListViewColor_Error

Dim iLineHeight As Long
Dim iBarHeight As Long
Dim lBarWidth As Long
Dim lColor1 As Long
Dim lColor2 As Long

lColor1 = Color1
lColor2 = Color2

If pCtrlListView.View = lvwReport Then
pCtrlListView.Picture = LoadPicture(“”)
pCtrlListView.Refresh
pCtrlPictureBox.Cls

pCtrlPictureBox.AutoRedraw = True
pCtrlPictureBox.BorderStyle = vbBSNone
pCtrlPictureBox.ScaleMode = vbTwips
pCtrlPictureBox.Visible = False

pCtrlListView.PictureAlignment = lvwTile
pCtrlPictureBox.Font = pCtrlListView.Font
pCtrlPictureBox.Top = pCtrlListView.Top
pCtrlPictureBox.Font = pCtrlListView.Font
With pCtrlPictureBox.Font
.Size = pCtrlListView.Font.Size + 2.75
.Bold = pCtrlListView.Font.Bold
.Charset = pCtrlListView.Font.Charset
.Italic = pCtrlListView.Font.Italic
.Name = pCtrlListView.Font.Name
.Strikethrough = pCtrlListView.Font.Strikethrough
.Underline = pCtrlListView.Font.Underline
.Weight = pCtrlListView.Font.Weight
End With
pCtrlPictureBox.Refresh
iLineHeight = pCtrlPictureBox.TextHeight(“W”) + Screen.TwipsPerPixelY

iBarHeight = (iLineHeight * 1)
lBarWidth = pCtrlListView.Width

pCtrlPictureBox.Height = iBarHeight * 2
pCtrlPictureBox.Width = lBarWidth

‘paint the two bars of color
pCtrlPictureBox.Line (0, 0)-(lBarWidth, iBarHeight), lColor1, BF
pCtrlPictureBox.Line (0, iBarHeight)-(lBarWidth, iBarHeight * 2), lColor2, BF

pCtrlPictureBox.AutoSize = True
‘set the pCtrlListView picture to the
‘pCtrlPictureBox image
pCtrlListView.Picture = pCtrlPictureBox.Image
Else
pCtrlListView.Picture = LoadPicture(“”)
End If

pCtrlListView.Refresh
Exit Sub
SetListViewColor_Error:
‘clear pCtrlListView’s picture and then exit
pCtrlListView.Picture = LoadPicture(“”)
pCtrlListView.Refresh
End Sub




2 Comments

  1. krisna |

    Kak saya mau tanya. sayan kan punya 4 textbox dan listview akan diisi dengan data-data dari textbox ini. setelah data masuk ke listview saya ingin edit datanya yang dilistview, misalnya ganti angkanya.. ada contoh kode untuk kasus ini gak kak? mhon bantuannya…!

    • contactwahyu |

      Hallo… Di listview itu ada satu metode yang bisa digunakan untuk membaca pilihan record yang sedang dipilih. Coba googling dulu, karena saya agak lupa nama metodenya, nah setelah bisa dibaca, tinggal masukkan saja nilai2nya ke textbox lalu diproses ke dalam databsenya untuk proses update atau edit.