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
