GridView rows details on DetailsView using onSelectedIndexChanged event in ASP.NET C#

February 25, 2016 , 0 Comments

Bind Details view using onselectedIndexChanged event of Gridview view. First to Bind the Gridview with select command. By using selectedIndexChanged method you can bind the details view. If you want to bind the DetailsView from Gridview Row then use select command name in GridView's button field name. In the Code behind file, first to bind the Gridview from database table. Retrieve the selected Row data using select command, bind DataTable with Retrieved data.

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

<!DOCTYPE html>

<html xmlns="">
<head runat="server">
    <form id="form1" runat="server">
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
                <asp:BoundField DataField="Id" HeaderText="ID" />
                <asp:BoundField DataField="name" HeaderText="Name" />
                <asp:TemplateField HeaderText="address">

                        <asp:Label ID="addlabel" Text='<%# Eval("address") %>' runat="server" />


                <asp:ButtonField Text="select" CommandName="select" />

        <asp:DetailsView ID="DetailsView1" runat="server" Height="50px" Width="125px" AutoGenerateRows="false">
                <asp:BoundField DataField="Id" HeaderText="ID" />
                <asp:BoundField DataField="name" HeaderText="Name" />
                <asp:BoundField DataField="address" HeaderText="Address" />



Code Behind Code

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default2 : System.Web.UI.Page
    protected void Page_Load(object sender, EventArgs e)
        if (!Page.IsPostBack)
            SqlConnection con = new SqlConnection();
            con.ConnectionString = ConfigurationManager.ConnectionStrings["myconnection"].ToString();
            SqlCommand cmd=new SqlCommand();
            cmd.CommandText="select * from [Registration]";
            SqlDataReader rd = cmd.ExecuteReader();
            GridView1.DataSource = rd;


    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
        int id= int.Parse(GridView1.SelectedRow.Cells[0].Text);
        string name = GridView1.SelectedRow.Cells[1].Text;
        string add = (GridView1.SelectedRow.FindControl("addlabel") as Label).Text;
        DataTable dt = new DataTable();
        dt.Columns.AddRange(new DataColumn[] { new DataColumn("ID", typeof(int)), new DataColumn("Name", typeof(string)), new DataColumn("Address", typeof(string)) });
        dt.Rows.Add(id, name, add);
        DetailsView1.DataSource = dt;

Code Generates the following output
GridView rows details on DetailsView using onSelectedIndexChanged event in ASP.NET C#

Jacob Lefore

Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard. Google