怎么实现选中GridView的一行并且获取这一行的数据

如何实现选中GridView的一行并且获取这一行的数据?
请教如何实现选中GridView的一行并且获取这一行的数据,我需要点击一行时候可以获取其中的各个字段的数据?

请问asp.net中如何实现,在线等,各位大虾帮帮忙。。。。。。

------解决方案--------------------
点击一条记录可以得到这条记录的主键,拿到主键去数据库查询
------解决方案--------------------
先找主键,然后根据主键去数据库中找记录.
------解决方案--------------------
可以设置girdview的data key name来,然后在row_selecting事件中获取该值,进行查询
------解决方案--------------------
帮顶
------解决方案--------------------
借助於 GridView 控制项的 HyperLinkField 资料行,我们便可以在 GridView 控制项中替每一笔资料列显示出一个超连结,并让使用者轻易重新导向至特定的目标位置(特定网页或网页中的位置)。
在使用 HyperLinkField 资料行时,首先要考虑的就是超连结上的文字。关於此点,可分为下列两种状况来说明:
q 如果您希望每一笔资料列的超连结都显示相同的固定文字,请将 HyperLinkField 资料行的 Text 属性设定成所需的文字。图表 1 所示者即是一例。


图表1
q 如果您希望使用栏位的内容作为每一笔资料列之超连结的文字,请将 HyperLinkField 资料行的 DataTextField 属性设定成该栏位。图表 2 所示者即是一例。

当然,最常与 DataTextField 属性搭配使用的不外乎就是 DataTextFormatString 属性。我们经常使用 DataTextFormatString 属性来格式化取自 DataTextField 属性所指定之栏位的资料值。图表 3 所示者即是一例。


图表2


图表3
学会如何设定 HyperLinkField 资料行所产生之超连结的文字之後,接下来就是学习设定超连结的目标 URL。如果您要让所有的超连结都连结至相同的URL,请直接将 NavigateUrl 属性设定成所需的 URL。这样的设定虽然最为单纯,但是却也非常不切实际,毕竟就算是连结至相同的网页,也会每一笔资料列连结至相同网页中的不同位置(也就是书 - BookMark)。因此,较为实用的应该是 DataNavigateUrlFields 属性,原因很简单,它允许您指定某一个栏位中的URL作为连结的目的地(请注意此属性的名称是以s结尾,这是有玄机的,稍後会加以说明)。以图表4所示者而言,表示以「网址」栏位中的 URL 作为连结的目的地,如此一来,不同的超连结将会拥有各自的 URL。


图表4
当然,谈到了 DataNavigateUrlFields 属性,绝对不能忘了它的好兄弟 - DataNavigateUrlFormatString 属性。DataNavigateUrlFormatString 属性最主要的用途是用来格式化超连结的URL。举例来说,假设您指派给 DataNavigateUrlFields 属性的栏位并非内含完整的 URL(例如:http://www.gotop.com.tw)而仅仅是内含网页档的名称(例如:AlexPage.aspx),此时如果希望超连结的 URL 能够在网页档的名称前加上完整的位置路径的话,您可以采用以下的写法:
<asp:HyperLinkField DataNavigateUrlFields="个人网页"
DataNavigateUrlFormatString="~/Members/{0}"
HeaderText="个人网页" Text="检视个人网页" />
以上面的写法而言,表示以连结至根目录下之 Members 资料夹中的网页档。又以下面的写法而言,则表示连结至一个绝对URL(也就是某网站)中之 Members 资料夹中的网页档:
<asp:HyperLinkField
DataNavigateUrlFields="个人网页" 
DataNavigateUrlFormatString="http://www.alexmember.com/Members/{0}" 
HeaderText="个人网页" Text="检视个人网页" />
谈到这里,相信大家对 HyperLinkField 资料行都已经能够运用自如,现在呢,我们要再回头研究研究 DataNavigateUrlFields 属性,为什麽它的名称要特别以s结尾呢?原因很简单,因为您可以指派一个以上的栏位名称给 DataNavigateUrlFields 属性。什麽时候需要这样做呢?举例来说,当每一个超连结的 URL 都是要连结至相同的网页但是却要传递查询字串给该网页(类似如下所示),以便让目标网页根据不同的参数值来进行不同的处理时,就有需要这样做:
MemberPage.aspx?Name=章立民&MemberLevel=A
欲使您的超连结拥有类似如上的URL,就必须借助於 DataNavigateUrlFields 属性来构建之。这个时候,您必须将 Name 与 MemberLevel 栏位同时指派给 DataNavigateUrlFields 属性(Name 与 MemberLevel 栏位必须以逗号分隔),并利用 DataNavigateUrlFormatString 属性来加以格式化即可。写法如下所示:
<asp:HyperLinkField
DataNavigateUrlFields="Name, MemberLevel" 
DataNavigateUrlFormatString="MemberPage.aspx?Name={0}&MemberLevel={1}" 
HeaderText="会员网页" Text="检视会员网页" />
------解决方案--------------------
其实是可以实现一个欠套的,先设置GirdView的DataKeyNames可以是你记录的id,然后在SelectedIndexChange事件中获取该值,进行查询。
获取如:GridView1.DataKeys[e.Row.RowIndex].Value获得id,然后写sql语句,跟其他查询一样!
------解决方案--------------------
如果只是单击而言必然要用JS,把主键绑到一个控件上,单击事件中取到其值,将其值传一个隐藏域,要是服务器端的,再调用一个C#中一个PUBLIC的函数,就OK了,如果有问题QQ120547173
------解决方案--------------------
有个选择行的事件
可以通过它来解决
selectXXXXindex
------解决方案--------------------
前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>