获取GridView当前行的索引值的方法汇总

上传人:宝路 文档编号:5614140 上传时间:2017-09-07 格式:DOC 页数:4 大小:161KB
返回 下载 相关 举报
获取GridView当前行的索引值的方法汇总_第1页
第1页 / 共4页
获取GridView当前行的索引值的方法汇总_第2页
第2页 / 共4页
获取GridView当前行的索引值的方法汇总_第3页
第3页 / 共4页
获取GridView当前行的索引值的方法汇总_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《获取GridView当前行的索引值的方法汇总》由会员分享,可在线阅读,更多相关《获取GridView当前行的索引值的方法汇总(4页珍藏版)》请在金锄头文库上搜索。

1、获取 GridView 当前行的索引值的方法汇总.txt 都是一个山的狐狸,你跟我讲什么聊斋,站在离你最近的地方,眺望你对别人的微笑,即使心是百般的疼痛 只为把你的一举一动尽收眼底刺眼的白色,让我明白什么是纯粹的伤害。本文详解 GridView 控件获取当前行的索引值的签入 签出 方法,下面结合实例介绍几种获得 GridView 当前行索引值的方法。实例: 目的:获取 GridView 中 RowCommand 的当前索引行。 前台页面:在 GridView 中添加一模版列,里面添加一个 LinkButton 控件。代码:小提示:如果在后台代码中用 e.CommandArgument 取值的话

2、,前台代码就必须在按钮中设置CommandArgument 的值,值为绑定的数据库字段。如:/因为在客户端中就已经将 LinkButton 的 CommandArgument 与主键 Id 给绑定了所以在此可以直接用 e.CommandArgument 得出主键 ID 的值 int id = Convert.ToInt32(e.CommandArgument.ToString(); 在 GridView 里已经设置了 LinkButton 为事件处理按钮,将通过以下方法获取索引:【方法一】protected void gv_Company_RowCommand(object sender, G

3、ridViewCommandEventArgs e) if (e.CommandName = QianRu) GridViewRow drv = (GridViewRow)(LinkButton)(e.CommandSource).Parent.Parent); /此得出的值是表示那行被选中的索引值 inf id=Convert.ToInt32(GridView1.DataKeysdrv.RowIndex.Value); /此获取的值为 GridView 中绑定数据库中的主键值注意:运用此方法,需要对 GridView的 DataKeyNames 属性进行设置,此例中设置为主键字段。 【方法二

4、】protected void gv_Company_RowCommand(object sender, GridViewCommandEventArgs e) if (e.CommandName = QianRu) GridViewRow drv = (GridViewRow)(LinkButton)e.CommandSource).NamingContainer; /此得出的值是表示那行被选中的索引值 int id = Convert.ToInt32(GridView1.Rowsdrv.RowIndex.Cells0.Text); /此获取的值为 GridView 中绑定数据库中的主键值,

5、取值方法是选中的行中的第一列的值,drv.RowIndex 取得是选中行的索引 此外,还有一些方法可以实现获得当前行索引值。【方法三】在 linkbutton 控件的 Command 事件,利用 sender 的 Parent 获取 GridView 中的当前行。protected void lbtnQianChu_Command(object sender, CommandEventArgs e) LinkButton lb = (LinkButton)sender; DataControlFieldCell dcf = (DataControlFieldCell)lb.Parent; Gr

6、idViewRow gvr = (GridViewRow)dcf.Parent; /此得出的值是表示那行被选中的索引值 lbtnQianChu.SelectedIndex = gvr.RowIndex; 【方法四】在 linkbutton 控件的 Click 事件,获取 GridView 中的当前行。protected void LinkButton1_Click(object sender, EventArgs e) /行号 int row = (GridViewRow)(LinkButton)sender).NamingContainer).RowIndex; 【方法五】如果在模板列中添加

7、一下 DropDownList 控件,并开启其 AutoPostback 属性,在DropDownList 的 SelectedIndexChanged 事件中,获取 GridView 中的当前行。下面是 SelectedIndexChanged 事件的代码摘要:DropDownList ddl = (DropDownList)sender; GridViewRow gvr = (GridViewRow)ddl.NamingContainer; int id = int.Parse(GridView1.DataKeysgvr.RowIndex0.ToString(); int num = in

8、t.Parse(ddl.Text); 第一句用来获取触发事件的 DropDownList 控件。第二句就利用该控件的 NamingContainer 属性,获取其容器,也就是 GridViewRow 对象。提示:由于 DropDoweList 与 button 不同,无法指定其 CommandName,所以,通过用NamingContainer 属性来解决问题。先来看看微软对该 NamingContainer 属性的解释:获取对服务器控件的命名容器的引用,此引用创建唯一的命名空间,以区分具有相同 Control.ID 属性值的服务器控件。ASP.NET Web 应用程序的每一页均包含控件的层次

9、结构。此层次结构与控件是否生成用户可见的 UI 无关。给定控件的命名容器是层次结构中该控件之上的父控件,此父控件实现 INamingContainer 接口。实现此接口的服务器控件为其子服务器控件的 ID 属性值创建唯一的命名空间。当针对列表 Web 服务器控件(如 Repeater 和 DataList 服务器控件)进行数据绑定时,为服务器控件创建唯一的命名空间尤其重要。当数据源中的多个项创建服务器控件的多个实例,且该服务器控件是重复控件的子级时,命名容器确保这些子控件的每个实例具有不冲突的 UniqueID 属性值。页的默认命名容器是请求该页时生成的 Page 类的实例。可以使用此属性确定

10、特定服务器控件所在的命名容器。【方法六】如果模板列中有 CheckBox 控件的情况,通过 CheckBox1_CheckedChanged 事件中,获取 GridView 中的当前行。CheckBox chk = (CheckBox)sender; DataControlFieldCell dcf = (DataControlFieldCell)chk.Parent; GridViewRow gvr = (GridViewRow)dcf.Parent; 【方法七】DisplayIndex : | DataItemIndex : 【方法八】控件的 ID 和 Name 命名可以如上方法,我需要通

11、过 RowCommand()方法判断选中的是哪一列,而要使用这个方法的前提是,e.CommandArgument 这么一个属性(首先必须知道在 GridView里,行索引是被放在 CommandArgument 里面的) ,现在的任务就是获得这么一个属性。查资料可以知道,在创建 GridView 控件中每一行时,都将引发一个 RowCreated 事件,借此这么个方法,可以把 linkButton 所选择的行号写入 CommandArgument 中。 protected void gvInfo_RowCreated(object sender, GridViewRowEventArgs e)

12、 if (e.Row.RowType = DataControlRowType.DataRow) LinkButton lk1 = (LinkButton)e.Row.FindControl(lkbtn);/LinkButton 的 ID lk1.CommandArgument = e.Row.RowIndex.ToString(); protected void gvInfo_RowCommand(object sender, GridViewCommandEventArgs e) if (e.CommandName = ADD)/我 LinkButton 的 CommandName int index = Convert.ToInt32(e.CommandArgument); string aa = gvInfo.Rowsindex.Cells1.Text.ToString();/获取当前行列号为一的值,列号从 0 开始

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号