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
Pemanfaatan DataGrid dan TrueDBGrid pada VB
Hendra, S.T.
Dengan connection string sebagai berikut : Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Microsoft Visual Studio\VB98\NWIND.MDB;Persist Security Info=False
Dan RecordSource ke tabel Customers
2. Aturlah properties DataGrid, DataSource ke ADODC1
Indoprog
2
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
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
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
Pemanfaatan DataGrid dan TrueDBGrid pada VB
Hendra, S.T.
Sehingga tampilan menjadi sebagai berikut :
3. Kemudian hilangkan Record Selector untuk Split1
Indoprog
6
Pemanfaatan DataGrid dan TrueDBGrid pada VB
Hendra, S.T.
Sehingga menjadi sebagai berikut :
4. Kemudian atur ukuran Split sebesar ukuran CustomerId
Indoprog
7
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
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 Files\Microsoft Visual Studio\VB98\NWIND.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
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
Pemanfaatan DataGrid dan TrueDBGrid pada VB
Hendra, S.T.
Mengenal TrueDbGrid Pada visual basic 6.0 telah tersedia Microsoft DataGrid, tetapi grid bawaan ini kadangkadang 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
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 Files\Microsoft Visual Studio\VB98\NWIND.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
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 Files\Microsoft Visual Studio\VB98\NWIND.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
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 Files\Microsoft Visual Studio\VB98\NWIND.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
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
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