Hi simflex,
I have created sample code by refering the below article which full-fill your requirement.
HTML
<form id="form1" runat="server">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnSelectedIndexChanged="OnSelectedIndexChanged">
    <Columns>
        <asp:BoundField DataField="CustomerId" HeaderText="Id" />
        <asp:BoundField DataField="ContactName" HeaderText="Name" />
        <asp:BoundField DataField="City" HeaderText="City" />
        <asp:BoundField DataField="Country" HeaderText="Country" />
        <asp:ButtonField Text="Select" CommandName="Select" />
    </Columns>
</asp:GridView>
<br />
<u>Selected Row:</u>
<br />
<br />
<asp:GridView ID="GvOrdersDetails" runat="server" AutoGenerateColumns="false">
    <Columns>
        <asp:BoundField DataField="CustomerId" HeaderText="CustomerId" HeaderStyle-Font-Bold="true" />
        <asp:BoundField DataField="OrderId" HeaderText="OrderId" HeaderStyle-Font-Bold="true" />
        <asp:BoundField DataField="OrderDate" HeaderText="OrderDate" HeaderStyle-Font-Bold="true" />
        <asp:BoundField DataField="ShipName" HeaderText="ShipName" HeaderStyle-Font-Bold="true" />
    </Columns>
</asp:GridView>
</form>
C#
private string constring = ConfigurationManager.ConnectionStrings["Constring"].ToString();
protected void Page_Load(object sender, EventArgs e)
{
    if (!this.IsPostBack)
    {
        this.GetCustomers();
    }
}
private void GetCustomers()
{
    SqlConnection con = new SqlConnection(constring);
    SqlCommand cmd = new SqlCommand("SELECT * FROM Customers", con);
    SqlDataAdapter sda = new SqlDataAdapter(cmd);
    DataTable dt = new DataTable();
    sda.Fill(dt);
    GridView1.DataSource = dt;
    GridView1.DataBind();
}
protected void OnSelectedIndexChanged(object sender, EventArgs e)
{
    string id = GridView1.SelectedRow.Cells[0].Text;
    SqlConnection con = new SqlConnection(constring);
    SqlCommand cmd = new SqlCommand("SELECT * FROM Orders WHERE CustomerId=@CustomerId", con);
    cmd.Parameters.AddWithValue("@CustomerId", id);
    SqlDataAdapter sda = new SqlDataAdapter(cmd);
    DataTable dt = new DataTable();
    sda.Fill(dt);
    GvOrdersDetails.DataSource = dt;
    GvOrdersDetails.DataBind();
}
Vb.net
Private constring As String = ConfigurationManager.ConnectionStrings("Constring").ToString()
Protected Sub Page_Load(sender As Object, e As EventArgs)
	If Not Me.IsPostBack Then
		Me.GetCustomers()
	End If
End Sub
Private Sub GetCustomers()
	Dim con As New SqlConnection(constring)
	Dim cmd As New SqlCommand("SELECT * FROM Customers", con)
	Dim sda As New SqlDataAdapter(cmd)
	Dim dt As New DataTable()
	sda.Fill(dt)
	GridView1.DataSource = dt
	GridView1.DataBind()
End Sub
Protected Sub OnSelectedIndexChanged(sender As Object, e As EventArgs)
	Dim id As String = GridView1.SelectedRow.Cells(0).Text
	Dim con As New SqlConnection(constring)
	Dim cmd As New SqlCommand("SELECT * FROM Orders WHERE CustomerId=@CustomerId", con)
	cmd.Parameters.AddWithValue("@CustomerId", id)
	Dim sda As New SqlDataAdapter(cmd)
	Dim dt As New DataTable()
	sda.Fill(dt)
	GvOrdersDetails.DataSource = dt
	GvOrdersDetails.DataBind()
End Sub
Screenshot
