Pada modul-modul sebelumnya kita telah bekerja dengan DataSet, DataTable, dan DataView. Pada modul ini kita akan bekerja dengan DataSet yang memiliki beberapa DataTable dan masing-masing DataTable dihubungkan (Relation) berdasarkan kolom tertentu.
Contoh hasil Master dan Detail yang ditampilkan pada DataGrid1.
Dalam hal ini kita akan membuka koneksi dan mempersiapkan DataSet, membuat Relation antara master DataTable dan child, serta membuat DataViewManager. Akhirnya di binding ke DataGrid.
Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Oledbconn = New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data source=D:\BelajarVBnet\Belajar.mdb;") ODABarang = New OleDbDataAdapter("Select * from Barang", Oledbconn) ODAPelanggan = New OleDbDataAdapter("Select * from Pelanggan", Oledbconn) ODABarang.Fill(ODS, "Barang") ODAPelanggan.Fill(ODS, "Pelanggan") 'Buat Relation antara DataTable Barang (Master) dan Pelanggan (Child) ODS.Relations.Add("PelangganBarang", ODS.Tables("Barang").Columns("KodeBar"), ODS.Tables("Pelanggan").Columns("KodeBar")) 'Membuat DataViewManager untuk DataSet ODVM = New DataViewManager(ODS) 'Binding DataViewManager ke DataGrid, DataTable Barang DataGrid1.SetDataBinding(ODVM, "Barang") End Sub
Karena DataSet terdiri dari dua tabel, maka kita perlu mengupdatenya satu-persatu melalui DataAdapter masing-masing.
Private Sub Form3_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed Dim oleCB As New OleDbCommandBuilder(ODABarang) Dim oleCP As New OleDbCommandBuilder(ODAPelanggan) 'Update masing-masing DataSet ODABarang.Update(ODS, "Barang") ODAPelanggan.Update(ODS, "Pelanggan") End Sub
Imports System.Data.OleDb Public Class Form3 Inherits System.Windows.Forms.Form Dim Oledbconn As OleDbConnection Dim ODABarang As OleDbDataAdapter Dim ODAPelanggan As OleDbDataAdapter Dim ODS As New DataSet Dim ODVM As DataViewManager Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Oledbconn = New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data source=D:\BelajarVBnet\Belajar.mdb;") ODABarang = New OleDbDataAdapter("Select * from Barang", Oledbconn) ODAPelanggan = New OleDbDataAdapter("Select * from Pelanggan", Oledbconn) ODABarang.Fill(ODS, "Barang") ODAPelanggan.Fill(ODS, "Pelanggan") 'Buat Relation antara DataTable Barang (Master) dan Pelanggan (Child) ODS.Relations.Add("PelangganBarang", ODS.Tables("Barang").Columns("KodeBar"), ODS.Tables("Pelanggan").Columns("KodeBar")) 'Membuat DataViewManager untuk DataSet ODVM = New DataViewManager(ODS) 'Binding DataViewManager ke DataGrid, DataTable Barang DataGrid1.SetDataBinding(ODVM, "Barang") End Sub
Private Sub Form3_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed Dim oleCB As New OleDbCommandBuilder(ODABarang) Dim oleCP As New OleDbCommandBuilder(ODAPelanggan) 'Update masing-masing DataSet ODABarang.Update(ODS, "Barang") ODAPelanggan.Update(ODS, "Pelanggan") End Sub End Class