Imports System.Data
Public Class Form1
Dim dt1 As New DataTable
Dim dt2 As New DataTable
Dim cargando As Boolean = True
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
With dt1
.Columns.Add("Orden", GetType(Integer))
.Columns.Add("LEtra", GetType(String))
End With
With dt2
.Columns.Add("Orden", GetType(Integer))
.Columns.Add("dato", GetType(Long))
.Columns.Add("dato2", GetType(Long))
End With
For i As Integer = 0 To 30
Dim n As DataRow = dt1.NewRow
n("orden") = i
n("letra") = ChrW(i + 32)
dt1.Rows.Add(n)
Next
dg1.DataSource = dt1
For i As Integer = 0 To 100
Dim n As DataRow = dt2.NewRow
n("orden") = i Mod 30
n("dato") = ChrW(i + 32)
n("dato2") = ChrW(i + 50)
dt2.Rows.Add(n)
Next
dg2.Visible = False
cargando = False
End Sub
Private Sub dg1_SelectionChanged(sender As Object, e As EventArgs) Handles dg1.SelectionChanged
If cargando Then Exit Sub
Dim t As DataTable = dt2.Select("orden =" & dg1.CurrentRow.Cells("orden").Value).CopyToDataTable
dg2.DataSource = t
dg2.Visible = True
dg2.Location = dg1.Location + dg1.GetCellDisplayRectangle(1, dg1.CurrentRow.Index, False).Location + New Point(0, dg1.CurrentRow.Height)
End Sub
End Class