Dokumen tersebut memberikan panduan penggunaan DataGrid dan TrueDBGrid pada Visual Basic 6 untuk menampilkan dan mengedit data dalam bentuk tabel. DataGrid dan TrueDBGrid dapat diisi datanya dari sumber data seperti Microsoft Access melalui ADODC dan ADO. TrueDBGrid memiliki keunggulan seperti split view, filter bar, dan memungkinkan entry data secara langsung.
1. Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.
Mengenal DataGrid
DataGrid merupakan komponen yang disediakan pada VB6 untuk menampilkan data
dalam bentuk tabel. Untuk menggunakan DataGrid, anda perlu mengikut sertakan
Microsoft DataGrid Control 6.0.
Maka pada toolbox anda akan bertambah DataGrid control.
Menggunakan DataGrid dengan ADODC
1. Tanamkan pada form sebuah ADODC dan DataGrid
Indoprog 1
2. Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.
Dengan connection string sebagai berikut :
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:Program FilesMicrosoft
Visual StudioVB98NWIND.MDB;Persist Security Info=False
Dan RecordSource ke tabel Customers
2. Aturlah properties DataGrid, DataSource ke ADODC1
Indoprog 2
3. Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.
3. Klik kanan pada DataGrid, dan pilih Retrieve fields
Dan Pilih Yes
Dan otomatis field-field yang ada pada tabel Customers akan ditampilkan pada
DataGrid
Indoprog 3
4. Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.
4. Anda dapat mengatur kolom pada DataGrid seperti menambah, mengurangi
ataupun menghapus pada Modus Edit, dengan klik kanan pada DataGrid1, dan
pilih Edit
Pada Modus Edit, jika klik kanan dilakukan, maka tampilkan popup menu akan
berubah menjadi sebagai berikut ini :
Misalnya anda ingin menghapus kolom CompanyName, maka anda dapat
memilih kolom CompanyName, dan klik kanan serta memilih Delete.
Memanfaatkan Split untuk membuat Freeze Column
1. Pada modus Edit pilih Split
Indoprog 4
5. Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.
2. Dan pada DataGrid akan terpisah menjadi dua jendela
.
Sembunyikan kolom-kolom pada jendela 1 dengan hanya menyisakan kolom
CustomerId, dengan klik kanan pada DataGrid1, dan pilih properties, kemudian
pada kolom Layout, pada Split0, dan lakukan untuk kolom CompanyName,
kemudian hilangkan tanda check pada properti Visible
Lakukan juga untuk kolom-kolom yang lain, dengan menyisakan kolom Customer
Id.
Indoprog 5
6. Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.
Sehingga tampilan menjadi sebagai berikut :
3. Kemudian hilangkan Record Selector untuk Split1
Indoprog 6
7. Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.
Sehingga menjadi sebagai berikut :
4. Kemudian atur ukuran Split sebesar ukuran CustomerId
Indoprog 7
8. Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.
5. Kemudian buang tanda check pada AllowSizing pada Split 0, ScrollBars set ke
dbgHorizontal
6. Dan akhirnya menjadi sebagai berikut :
Indoprog 8
9. Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.
5. Buatlah Referensi ke Microsoft ActiveX Data Object
Menggunakan DataGrid dengan ADO
1. Tanamkan sebuah DataGrid pada Form
2. Kemudian pada event Form_Load, lakukan koding berikut ini :
Dim MyConn As New Connection
Dim Rs As New Recordset
Private Sub Form_Load()
Dim Col As Column
MyConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:Program FilesMicrosoft Visual StudioVB98NWIND.MDB;Persist
Security Info=False"
MyConn.CursorLocation = adUseClient
MyConn.Open
Rs.Open "Customers", MyConn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = Rs
DataGrid1.Splits.Add (1)
For Each Col In DataGrid1.Splits(0).Columns
If Col.ColIndex > 0 Then
Col.Visible = False
End If
Indoprog 9
10. Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.
Next Col
DataGrid1.Splits(0).ScrollBars = dbgHorizontal
DataGrid1.Splits(1).RecordSelectors = False
DataGrid1.Splits(0).Size = 30
DataGrid1.Splits(0).AllowSizing = False
End Sub
Indoprog 10
11. Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.
Mengenal TrueDbGrid
Pada visual basic 6.0 telah tersedia Microsoft DataGrid, tetapi grid bawaan ini kadang-
kadang tidak memenuhi kebutuhan pemakai. Salah satu komponen Grid yang disediakan
oleh pihak ketiga (http://www.componentone.com) yang cukup populer dikalangan
programmer VB adalah TrueDbGrid.
Anda perlu mendownload dan menginstalasi TrueDbGrid sebelum dapat digunakan pada
project anda.
Setelah instalasi anda dapat memanfaatkan TrueDbGrid dengan menu Project,
Components, ComponentOne TrueDbgrid Pro 7.0 (OLEDB) untuk pemakaian dengan
ADO.
Sesaat setelah dimasukan kedalam project, pada toolbar anda akan bertambah dua kontrol
yaitu : TDBDropDown dan TDBGrid.
Indoprog 11
12. Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.
Menampilkan data dengan TrueDbGrid
Salah satu pemakaian TrueDbGrid adalah untuk menampilkan data. Pada TrueDbGrid
tersedia berbagai keunggulan seperti Split, Filter Bar.
Dan Lakukan koding berikut
Dim MyConn As New Connection
Dim Rs As New Recordset
Private Sub Form_Load()
Dim Split0 As TrueOleDBGrid70.Split
Dim Split1 As TrueOleDBGrid70.Split
Dim Col As Column
MyConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:Program FilesMicrosoft Visual StudioVB98NWIND.MDB;Persist
Security Info=False"
MyConn.CursorLocation = adUseClient
MyConn.Open
Rs.Open "Customers", MyConn, adOpenDynamic, adLockOptimistic
Set TDBGrid1.DataSource = Rs
Set Split0 = TDBGrid1.Splits.Add(0)
For Each Col In Split0.Columns
If Col.ColIndex > 0 Then
Col.Visible = False
End If
Next Col
Split0.ScrollBars = dbgAutomatic
Split0.SizeMode = dbgNumberOfColumns
Split0.Size = 1
Set Split1 = TDBGrid1.Splits(1)
Split1.RecordSelectors = False
TDBGrid1.Refresh
End Sub
Indoprog 12
13. Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.
Membuat Baris berbeda Warna
Dengan koding sebagai berikut :
Dim MyConn As New Connection
Dim Rs As New Recordset
Private Sub Form_Load()
Dim Split0 As TrueOleDBGrid70.Split
Dim Split1 As TrueOleDBGrid70.Split
Dim Col As Column
MyConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:Program FilesMicrosoft Visual StudioVB98NWIND.MDB;Persist
Security Info=False"
MyConn.CursorLocation = adUseClient
MyConn.Open
Rs.Open "Customers", MyConn, adOpenDynamic, adLockOptimistic
Set TDBGrid1.DataSource = Rs
Set Split0 = TDBGrid1.Splits.Add(0)
For Each Col In Split0.Columns
If Col.ColIndex > 0 Then
Indoprog 13
14. Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.
Col.Visible = False
End If
Next Col
Split0.ScrollBars = dbgAutomatic
Split0.SizeMode = dbgNumberOfColumns
Split0.Size = 1
Set Split1 = TDBGrid1.Splits(1)
Split1.RecordSelectors = False
Split0.AlternatingRowStyle = True
Split1.AlternatingRowStyle = True
Split0.EvenRowStyle.BackColor = RGB(&HCC, &HCC, &HCC)
Split1.EvenRowStyle.BackColor = RGB(&HCC, &HCC, &HCC)
TDBGrid1.Refresh
End Sub
Memanfaatkan Filterbar
Dim MyConn As New Connection
Dim Rs As New Recordset
Private Sub Form_Load()
Dim Split0 As TrueOleDBGrid70.Split
Dim Split1 As TrueOleDBGrid70.Split
Dim Col As Column
MyConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:Program FilesMicrosoft Visual StudioVB98NWIND.MDB;Persist
Security Info=False"
MyConn.CursorLocation = adUseClient
MyConn.Open
Rs.Open "Customers", MyConn, adOpenDynamic, adLockOptimistic
Set TDBGrid1.DataSource = Rs
Set Split0 = TDBGrid1.Splits.Add(0)
For Each Col In Split0.Columns
If Col.ColIndex > 0 Then
Col.Visible = False
End If
Next Col
Split0.ScrollBars = dbgAutomatic
Split0.SizeMode = dbgNumberOfColumns
Indoprog 14
15. Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.
Split0.Size = 1
Set Split1 = TDBGrid1.Splits(1)
Split1.RecordSelectors = False
Split0.AlternatingRowStyle = True
Split1.AlternatingRowStyle = True
Split0.EvenRowStyle.BackColor = RGB(&HCC, &HCC, &HCC)
Split1.EvenRowStyle.BackColor = RGB(&HCC, &HCC, &HCC)
'Mengaktifkan Filter Bar
Split0.FilterBar = True
Split1.FilterBar = True
TDBGrid1.AllowUpdate = False
TDBGrid1.Refresh
End Sub
Private Sub TDBGrid1_FilterChange()
Dim Filter As String
Dim Col As Integer
Col = TDBGrid1.Col
TDBGrid1.HoldFields
Filter = ""
For I = 0 To TDBGrid1.Columns.Count - 1
If TDBGrid1.Columns(I).FilterText <> "" Then
If Filter <> "" Then
Filter = Filter & " And "
End If
Filter = Filter & TDBGrid1.Columns(I).DataField & " Like '" & _
TDBGrid1.Columns(I).FilterText & "*'"
End If
Next I
Rs.Filter = Filter
TDBGrid1.Col = Col
TDBGrid1.EditActive = True
End Sub
Private Sub TDBGrid1_KeyPress(KeyAscii As Integer)
If KeyAscii = 27 Then
For I = 0 To TDBGrid1.Columns.Count - 1
TDBGrid1.Columns(I).FilterText = ""
Next I
Rs.Filter = ""
End If
End Sub
Pemanfaatan TrueDBGrid untuk Entry Data
TrueDBGrid dapat digunakan untuk entry data langsung dengan mengatur properti
AllowUpdate, dan AllowAddNew menjadi True, dengan syarat recordset tidak diopen
secara readonly.
Beberapa event yang berhubungan dengan Entry data pada kolom yang dapat diprogram
adalah sebagai berikut :
Private Sub DGrid_BeforeColUpdate(ByVal ColIndex As Integer, OldValue
As Variant, cancel As Integer)
If ColIndex = 2 Then
Indoprog 15
16. Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.
If ThisDocType = "4" Or ThisDocType = "6" Then
Call FindPart_No(DGrid.Columns(2).Value, Part_Name, Harga_Pokok,
Harga_Jual, cancel)
Else
Call FindItemRetur(DGrid.Columns(2).Value, txtNoDoc.Text,
Part_Name, Qty, Price, PDisc, Cash_Disc, Net_Price, cancel)
End If
End If
End Sub
Private Sub DGrid_AfterColUpdate(ByVal ColIndex As Integer)
If ColIndex = 2 Then
If ThisDocType = "4" Or ThisDocType = "6" Then
DGrid.Columns(3).Value = Part_Name
DGrid.Columns(4).Value = 1
DGrid.Columns(5).Value = Harga_Jual
DGrid.Columns(6).Value = 0
DGrid.Columns(7).Value = 0
Else
DGrid.Columns(3).Value = Part_Name
DGrid.Columns(4).Value = Qty
DGrid.Columns(5).Value = Price
DGrid.Columns(6).Value = PDisc
DGrid.Columns(7).Value = Cash_Disc
DGrid.Columns(8).Value = Net_Price
End If
End If
Call HitungDetails
lChange = True
End Sub
Indoprog 16