pemanfaatan+datagrid+dan+truedbgrid+pada+vb

16

Click here to load reader

Upload: chen1chip

Post on 27-Jun-2015

548 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Pemanfaatan+DataGrid+Dan+TrueDBGrid+Pada+VB

Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.

Indoprog 1

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

Page 2: Pemanfaatan+DataGrid+Dan+TrueDBGrid+Pada+VB

Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.

Indoprog 2

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

Page 3: Pemanfaatan+DataGrid+Dan+TrueDBGrid+Pada+VB

Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.

Indoprog 3

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

Page 4: Pemanfaatan+DataGrid+Dan+TrueDBGrid+Pada+VB

Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.

Indoprog 4

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

Page 5: Pemanfaatan+DataGrid+Dan+TrueDBGrid+Pada+VB

Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.

Indoprog 5

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.

Page 6: Pemanfaatan+DataGrid+Dan+TrueDBGrid+Pada+VB

Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.

Indoprog 6

Sehingga tampilan menjadi sebagai berikut :

3. Kemudian hilangkan Record Selector untuk Split1

Page 7: Pemanfaatan+DataGrid+Dan+TrueDBGrid+Pada+VB

Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.

Indoprog 7

Sehingga menjadi sebagai berikut :

4. Kemudian atur ukuran Split sebesar ukuran CustomerId

Page 8: Pemanfaatan+DataGrid+Dan+TrueDBGrid+Pada+VB

Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.

Indoprog 8

5. Kemudian buang tanda check pada AllowSizing pada Split 0, ScrollBars set ke

dbgHorizontal

6. Dan akhirnya menjadi sebagai berikut :

Page 9: Pemanfaatan+DataGrid+Dan+TrueDBGrid+Pada+VB

Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.

Indoprog 9

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

Page 10: Pemanfaatan+DataGrid+Dan+TrueDBGrid+Pada+VB

Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.

Indoprog 10

Next Col

DataGrid1.Splits(0).ScrollBars = dbgHorizontal

DataGrid1.Splits(1).RecordSelectors = False

DataGrid1.Splits(0).Size = 30

DataGrid1.Splits(0).AllowSizing = False

End Sub

Page 11: Pemanfaatan+DataGrid+Dan+TrueDBGrid+Pada+VB

Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.

Indoprog 11

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.

Page 12: Pemanfaatan+DataGrid+Dan+TrueDBGrid+Pada+VB

Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.

Indoprog 12

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

Page 13: Pemanfaatan+DataGrid+Dan+TrueDBGrid+Pada+VB

Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.

Indoprog 13

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

Page 14: Pemanfaatan+DataGrid+Dan+TrueDBGrid+Pada+VB

Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.

Indoprog 14

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

Page 15: Pemanfaatan+DataGrid+Dan+TrueDBGrid+Pada+VB

Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.

Indoprog 15

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

Page 16: Pemanfaatan+DataGrid+Dan+TrueDBGrid+Pada+VB

Pemanfaatan DataGrid dan TrueDBGrid pada VB Hendra, S.T.

Indoprog 16

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