Seringkali kita ketika para coder (sebutan lain untuk programmer) membuat tabel untuk menampilkan data grid menggunakan datagrid ata flexigrid. Ya, memang penggunaan datagrid atau flexigrid lebih mudah dan usefull. Tapi pernahkan kita menyadari bahwa grid kita tidak bisa grouping, sorting atau anda ingin menempatkan image di dalam grid. Nah ada alteratif lain yang memungkinkan lebih banyak fitur dan aksi dengan menggunakan Listview. Dengan Listview kita dapat melakukan grouping, sorting hanya dengan klik pada headernya, menempatkan image atau textbox ke dalam grid, auto refresh, auto width column dan lain-lain.Karena itu pola code-ku sudah mulai kurubah menggunakan listview untuk view tabel grid. Dan berikut cara pembuatannya yang simple yang sudah sering aku gunakan;
- Drag dan drop listview dari toolbox windows form, beri nama misal; lvSupplier
- Kemudian buat fungsi untuk menghandle listview
- Eksekusi fungsi-fungsi tersebut (initTable & fillTable) pada Form_Load
'untuk inisiliasasi grid pada listview
Private sub InitTable(ByRef lvData As ListView)
lvData.Clear() 'clear semua content dan settingan listview
lvData.View = View.Details 'set mode details
lvData.FullRowSelect = True
lvData.MultiSelect = False
lvData.BeginUpdate()
lvData.HideSelection = False
lvData.Scrollable = True
lvData.GridLines = True 'menampilkan garis grid
lvData.Columns.add("Kode Supplier", 150, HorizontalAlignment.Left)
lvData.Columns.add("Nama Supplier", 150, HorizontalAlignment.Left)
lvData.Columns.add("Alamat", 150, HorizontalAlignment.Left)
lvData.Columns.add("No Telepon", 150, HorizontalAlignment.Left)
End Sub
'fungsi untuk mengisi data listview dari query database
Private Sub fillTable(ByRef lvData As ListView, ByVal SQL As String)
Dim i As Int32
Dim j As Int32
Dim k As Int32
Dim tColumn As Int16
Dim Content As String
lvData.BeginUpdate()
Try
OpenRs(SQL)
tColumn = Data.FieldCount
Catch ex As Exception
MsgBox(ex.Message & "-" & ex.Source, MsgBoxStyle.Critical)
End Try
lvData.Items.Clear()
j = 0
k = 0
Try
Do While Data.Read
Content = Data(0)
lvData.Items.Add(Content)
For i = 1 To lvData.Columns.Count - 1
Content = ""
Content = IIf(IsDBNull(Data(i)), "", Data(i))
lvData.Items(j).SubItems.Add(Content) 'menambahkan data ke dalam listview
Next
'menampilkan grid secara selang-seling warna
k = j
If k Mod 2 = 0 Then
lvData.Items(k).BackColor = Color.AliceBlue
Else
lvData.Items(k).BackColor = Color.White
End If
j = j + 1
Loop
Catch ex As Exception
MsgBox(ex.Message & "-" & ex.Source, MsgBoxStyle.Critical)
End Try
lvData.EndUpdate()
lvData.Refresh()
End Sub
Private sub Form_Load
Dim SQL$
SQL="SELECT * FROM tblSupplier"
initTable(lvSupplier)
fillTable(lvSupplier,SQL)
End Sub
Nah sekarang table dari listview sudah terbentuk, lain kali akan saya ceritakan bagaimana mensortir dan grouping atau tips lain mengelola tabel dengan listview. Tunggu jam tayangnya ya! Selamat mencoba !

![Validate my RSS feed [Valid RSS]](http://www.feedvalidator.org/images/valid-rss-jonathan.gif)


Tidak ada komentar:
Posting Komentar