Search

Thursday, February 25, 2016
0 comments

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

10:31 PMThursday, February 25, 2016
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#

Protected by Copyscape Online Copyright Protection Software

0 comments :

Post a Comment

 
Toggle Footer
Top