-->

Thursday, February 25, 2016

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

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

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="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
            <Columns>
                <asp:BoundField DataField="Id" HeaderText="ID" />
                <asp:BoundField DataField="name" HeaderText="Name" />
                <asp:TemplateField HeaderText="address">
                    <ItemTemplate>

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

                    </ItemTemplate>
             

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


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


            </Fields>


        </asp:DetailsView>
    </div>
    </form>
</body>
</html>

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();
            con.Open();
            SqlCommand cmd=new SqlCommand();
            cmd.CommandText="select * from [Registration]";
            cmd.Connection=con;
            SqlDataReader rd = cmd.ExecuteReader();
            GridView1.DataSource = rd;
            GridView1.DataBind();

        }

    }
    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;
        DetailsView1.DataBind();
    }
}

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

Read other related articles

Also read other articles

© Copyright 2013 Computer Programming | All Right Reserved