How to get the Values of Selected Row from a Gridview using ASP.NET

本文介绍了如何使用C#代码从GridView中获取选定行的值,并将其显示在文本框中。通过设置GridView的AutoGenerateColumns属性为False,添加绑定字段,实现数据的绑定和展示。

In this Article you can learn how to get the values of selected row from a Gridview and display the values in textBoxes using C# code.

Selecting a Row in Gridview

Add one Gridview and bind a Data using SqlDataSource.and Add three Textboxes to display a data in Textboxes when the GridviewRow is Selected.

Ste the Gridview AutoGenerateColumns property to 'False'.

You will need to set the Bound column in order to see the text in the cells of the grid view control

<asp:GridView runat ="Server" ID="Gridview1" AutoGenerateColumns="False" DataSourceID="SqlDataSource1"AutoGenerateSelectButton="True" OnSelectedIndexChanged="Gridview1_SelectedIndexChanged Width="306px" Height="137px">
    <Columns >
    <asp:BoundField HeaderText ="Rowid"  DataField ="Rowid" />
    <asp:BoundField HeaderText ="Name" DataField ="Name" />
    <asp:BoundField HeaderText ="Marks" DataField ="marks" />  
    </Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:shakeerConnectionString %>" SelectCommand="SELECT * FROM [emp]">
</asp:SqlDataSource
>

In Gridview Properties set 'AutoGenerateSelectButton=True'.See below image of Gridview after setting 'AutoGenerateSelectButton=True'.

fig1.gif

See the Desing view of your Gridview.you will find a Hyperlink with a text as 'Select'

Selecting Row:

Selecting row event is fired when you make a click on the select link. If you need any particular item in that row you can easily select it using the cells property:
In Gridview Events double Click on SelectedIndexChanged Event and write the below code:

    protected void Gridview1_SelectedIndexChanged(object sender, EventArgs e)
    {
        txtrowid.Text = Gridview1.SelectedRow.Cells[1].Text;
        txtname.Text = Gridview1.SelectedRow.Cells[2].Text;
        txtmarks.Text = Gridview1.SelectedRow.Cells[3].Text;   //only for boundField

    }



Complete .asp source code:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView runat ="Server" ID="Gridview1" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" AutoGenerateSelectButton="True" OnSelectedIndexChanged="Gridview1_SelectedIndexChanged" left: 266px; position: GridLines="None" Width="306px" Height="137px">

<Columns >
<asp:BoundField HeaderText ="Rowid" DataField ="Rowid" />
<asp:BoundField HeaderText ="Name" DataField ="Name" />
<asp:BoundField HeaderText ="Marks" DataField ="marks" />
</Columns>

<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<SelectedRowStyle BackColor="Teal" ForeColor="Maroon" Font-Bold="True" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
<RowStyle BackColor="#EFF3FB" />
<EditRowStyle BackColor="#2461BF" />
</asp:GridView>

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:shakeerConnectionString %>"
SelectCommand="SELECT * FROM [emp]"></asp:SqlDataSource>
<br />
<br />

<asp:TextBox ID="txtrowid" runat="server" Style="z-index: 101; left: 365px; position: absolute;top: 251px"></asp:TextBox>

<asp:TextBox ID="txtname" runat="server" Style="z-index: 102; left: 365px; position: absolute;top: 283px"></asp:TextBox>

<asp:TextBox ID="txtmarks" runat="server" Style="z-index: 103; left: 365px; position: absolute; top: 315px"></asp:TextBox>

<asp:Label ID="Label1" runat="server" Style="z-index: 107; left: 305px; position: absolute;top: 253px" Text="RowId"></asp:Label>

<asp:Label ID="Label2" runat="server" Style="z-index: 105; left: 303px; position: absolute;
top: 287px" Text="Name"></asp:Label>
<asp:Label ID="Label3" runat="server" Style="z-index: 106; left: 306px; position: absolute;
top: 318px" Text="Marks"></asp:Label>

</div>
</form>
</body>
</html>

In .aspx.cs code:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Gridview1_SelectedIndexChanged(object sender, EventArgs e)
    {
        txtrowid.Text = Gridview1.SelectedRow.Cells[1].Text;
        txtname.Text = Gridview1.SelectedRow.Cells[2].Text;
        txtmarks.Text = Gridview1.SelectedRow.Cells[3].Text;

    }
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值