To create Master/Detail grids with the DataGridView is different than with a
Datagrid
To try this Tip you need only one form, with two DataGridViews dragged on it
and paste in the code bellow.
Public Class Form1
Private Sub Form1_Load(ByVal
sender As System.Object, _
ByVal e As
System.EventArgs) Handles
MyBase.Load
Dim strConn As
String = _
"Server =
.\SQLEXPRESS;Database = NorthWind;" &
_
"Integrated
Security = SSPI;"
Dim conn As
New
SqlClient.SqlConnection(strConn)
Dim
ds As New DataSet
Dim dt1 As
New DataTable
Dim dt2 As New
DataTable
ds.Tables.Add(dt1)
ds.Tables.Add(dt2)
Dim
da1 As New SqlClient.SqlDataAdapter
_
("Select * from
Orders", conn)
Dim da2 As New
SqlClient.SqlDataAdapter
_
("Select * from
[Order Details]",
conn)
da1.FillSchema(dt1,
SchemaType.Mapped)
da2.FillSchema(dt2,
SchemaType.Mapped)
Dim rel As
New DataRelation("FKOrders_Detail_Orders",
_
ds.Tables(0).Columns("OrderID"),
_
ds.Tables(1).Columns("OrderID"))
ds.Relations.Add(rel)
Dim
bsOrders As New
BindingSource
bsOrders.DataMember
=
ds.Tables(0).TableName
bsOrders.DataSource
= ds
DataGridView1.DataSource
= bsOrders
Dim bsOrderDetails
As New
BindingSource
bsOrderDetails.DataSource
=
bsOrders
bsOrderDetails.DataMember
=
"FKOrders_Detail_Orders"
DataGridView2.DataSource
=
bsOrderDetails
da1.Fill(dt1)
da2.Fill(dt2)
End
Sub
End Class