Yang dimaksud dengan judul posting ini adalah komponen pada visual basic yang biasa digunakan untuk menampung data, entah judulnya tepat atau tidak tapi maksud penulis seperti itu, [gak professional bangettt :P] . sebenartnya komponen seperti textbox atau pun label bisa menampung data, tapi tidak bisa banyak. Seperti combobox atau list juga bisa, tapi ada beberapa komponen khusus untuk menampung data yang diambil dari sebuah database yang jumlahnya begitu banyak dan juga memiliki beberapa kolom, yang tentunya tidak semua kompnen dapat melakukan ini.
Pada posting ini saya bermaksud untuk mengenalkan beberapa data container, ngga banyak sih Cuma tiga, tapi ini yang sering digunakan, dan mungkin beberapa dari kita belum mengenal code-codenya, pada sampel program juga saya mencoba memberikan beberapa properties pendukung seperti pengaturan tulisan, ketinggian row atau pun lebar dari sebuah kolom. Ms. Datagrid, Ms. FlexGrid dan ListView ini yang akan saya bahas pada pemrograman kali ini. Langsung aja buka Visual Basicnya, tambahkan referensi adodb, lalu tambahkan komponen Ms. FlexGrid, Ms DataGrid dan juga listview, Nama :DataGrid1 = Grid, Ms. FlexGrid=Flexi, dan Listview=List1, buat tampilan seperti dibawah ini:
Saya menumpuknya langsung ketiga komponen tersebut biar bisa melihat dengan jelas perbedaannya, memang tidak terlalu mendetail code yang saya berikan ini, tetapi cukup lah untuk menampilkan data dan melihat perbedaanketiganya. Ketik langsung codenya modulnya: ( cara penambahan modul, referensi sudah dijelaskan pada postingan sebelumnya)
Code Module:
Global HubungKan As New ADODB.Connection
Public Sub HubungkanData()
Set HubungKan = New ADODB.Connection
HubungKan.Open "provider=microsoft.jet.oledb.4.0; persist security info=false; data source= " & App.Path & "\data.mdb"
HubungKan.CursorLocation = adUseClient
End Sub
Setelah membuat modul klik Form1 lalu View Code, ketikan code dibawah ini:
'Visit us at www.semesta-abu.co.nr
'Terima kasih sudah mencoba program ini
Dim RsData As New ADODB.Recordset
Private Sub Form_Load()
HubungkanData
Set RsData = New ADODB.Recordset
RsData.LockType = adLockOptimistic
RsData.Open "SELECT * FROM tbsiswa order by NIS", HubungKan
Set Grid.DataSource = RsData
Grid.Columns(0).Alignment = dbgCenter
Grid.Columns(0).Width = 800: Grid.Columns(1).Width = 1800
Grid.Columns(2).Width = 2600: Grid.Columns(3).Width = 1500
Grid.RowHeight = 260
Grid.Columns(0).Caption = "NIS"
Grid.Columns(1).Caption = "NAMA SISWA"
Grid.Columns(2).Caption = "ALAMAT"
Grid.Columns(3).Caption = "NO TELEPON"
Grid.Columns(4).Caption = "KELAS"
Grid.HeadFont.Size = 10
AturList1 "NIS", 12, "NAMA", 30, "ALAMAT", 23, "NO TELEPON", 24, "KELAS", 12
Grid.Columns(4).Alignment = dbgCenter
create_kolom
For i = 1 To RsData.RecordCount
FLexi.TextMatrix(i, 0) = RsData!NIS
FLexi.TextMatrix(i, 1) = RsData!nama
FLexi.TextMatrix(i, 2) = RsData!alamat
FLexi.TextMatrix(i, 3) = RsData!notelepon
FLexi.TextMatrix(i, 4) = RsData!kelas
RsData.MoveNext
FLexi.AddItem ""
Next i
TampilKAN
End Sub
Sub create_kolom()
With FLexi
.Clear
.FormatString = "NIS |NAMA SISWA | ALAMAT | NO TELEPON | KELAS"
.ColWidth(0) = 800: .ColWidth(1) = 2200
.ColWidth(2) = 2600: .ColWidth(3) = 1500
.ColWidth(4) = 1200
.Rows = 2
.RowHeight(0) = 400
End With
End Sub
Private Sub AturList1(ParamArray lstview())
Dim i, lebar
list1.View = lvwReport
lebar = list1.Width - 80
With list1.ColumnHeaders
.Clear
For i = 0 To UBound(lstview) - 1 Step 2
.Add , , lstview(i), (lstview(i + 1) * lebar) / 100
Next i
End With
End Sub
Sub TampilKAN()
On Error Resume Next
Set RsData = New ADODB.Recordset
RsData.LockType = adLockOptimistic
RsData.Open "SELECT * FROM tbsiswa order by NIS", HubungKan
list1.ListItems.Clear
xx = RsData.RecordCount
For X = 1 To xx
rec = list1.ListItems.Count
Set Item = list1.ListItems.Add(, , RsData!NIS)
Item.SubItems(1) = RsData!nama
Item.SubItems(2) = RsData!alamat
Item.SubItems(3) = RsData!notelepon
Item.SubItems(4) = RsData!kelas
RsData.MoveNext
Next X
End Sub
Lalu coba kita jalankan melalui tombol F5 pada keyboard, lihat hasilnya:Nah jadi kan?, coba kita perhatikan dengan baik code-code yang mendukung komponen komponen diatas dalam menampung data, secara logika DataGrid paling cepat dalam menampilkan data, karena data langsung ditentukan oleh properties datasource pada datagrid, tidak perlu code apapun semua field dan data akan muncul pada datagrid ini, melihat code Ms FLexGrid ini lumayan sedikit lebih lambat dibandingkan dengan Ms. DataGrid, karena proses penampungan data melalui perulangan perulangan yang begitu panjang, tetapi FlexGrid memiliki fitur yang menarik dan desainnya yang menawan. Warna juga bisa dicustomize sesuai dengan selera, sementara ListView terkesan lebih berat dari FlexGrid, karena membutuhkan perulangan yang panjang dalam memanggil data-data, ini akan lebih terasa jika data sudah mencapai ribuan, tapi kelebihannya listView mudah dalam hal setting properties melalui code, dan tampilannya pun lumayan baik.
Hemm… semua dikembalikan pada kebutuhan kita, jika memang untuk menampung data yang sangat besar jangan coba-coba pakai ListView deh, pasti berasa berat alias lemot :D, tapi kalau mau tampilan keren cobalah menggunakan FlexGrid disamping tampilan OK kecepatan memanggil data juga tidak diragukan lagi, kalau memang menginginkan performance only, ya sudah pilih saja DataGrid, itu juga udah lumayan kok, header caption juga bisa semau kita tidak mengikuti nama fieldpada tabel, kalao hanya untuk hasil searching data atau hanya menampilkan beberapa data saja mau keren pake aja ListView, tapi semua terserah anda, jika ada yang memiliki pengalaman lain silahkan berbagi coment..
Selesa juga posting yang ini, untuk yang pengen langsung melihat di tutorial ini melalui project yang sudah jadi silahkan download disini , semoga bisa membantu dan memberikan solusi bagi yang membutuhkan.
Tidak ada komentar:
Posting Komentar