Solución: Utilizar la habilidad de relación de un dataset.
Para explicar mejor, pongo un ejemplo.
Tengo mi formulario llamado Form1, el cual contiene dos grid, GridMaestro y GridDetalle.
Todo la programación lo realizo en el load del formulario.
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Creo un dataset que va a contener las tablas maestro - detalle
Dim ds As New DataSet
'Creo los binding que relacionen a los grid
Dim maestroBinding As New BindingSource
Dim detalleBinding As New BindingSource
'Creo la tabla maestro y lo lleno con datos
Dim tablaMaestro As DataTable = ds.Tables.Add("tablaMaestro")
tablaMaestro.Columns.Add("unico")
tablaMaestro.Columns.Add("dato")
tablaMaestro.Rows.Add(1, "AAA")
tablaMaestro.Rows.Add(2, "BBB")
tablaMaestro.Rows.Add(3, "CCC")
'Creo el grid detalle y lo lleno con datos
Dim tablaDetalle As DataTable = ds.Tables.Add("tablaDetalle")
tablaDetalle.Columns.Add("unico")
tablaDetalle.Columns.Add("relacion")
tablaDetalle.Columns.Add("dato")
tablaDetalle.Rows.Add(1, 1, "AAA-AAA")
tablaDetalle.Rows.Add(2, 1, "BBB-AAA")
tablaDetalle.Rows.Add(3, 1, "CCC-AAA")
tablaDetalle.Rows.Add(1, 2, "AAA-BBB")
tablaDetalle.Rows.Add(2, 2, "BBB-BBB")
tablaDetalle.Rows.Add(3, 2, "CCC-BBB")
tablaDetalle.Rows.Add(1, 3, "AAA-CCC")
tablaDetalle.Rows.Add(2, 3, "BBB-CCC")
tablaDetalle.Rows.Add(3, 3, "CCC-CCC")
'Creo la relacion entre las dos tablas
Dim columnaMaestro As DataColumn = tablaMaestro.Columns(0)
Dim columnaDetalle As DataColumn = tablaDetalle.Columns(1)
Dim relation As DataRelation
relation = New DataRelation("relacion", columnaMaestro, columnaDetalle)
'Asigno la relacion al dataset
ds.Relations.Add(relation)
'Relaciono el Binding Maestro al dataset
maestroBinding.DataSource = ds
maestroBinding.DataMember = "tablaMaestro"
'Asigno el binding del maestro al detalle e identifico la relacion
detalleBinding.DataSource = maestroBinding
detalleBinding.DataMember = "relacion"
'Asigno los grid a los binding
GridMaestro.DataSource = maestroBinding
GridDetalle.DataSource = detalleBinding
End Sub
La belleza aquí es la relación asignada al detalleBinding, el cual hace que al cambiar las filas en el maestro, se actualice la información en el detalle.