GridView根据循环按钮获取当前行ID或其他字段

gridview获取当前行索引 在用GridView控件时,我们经常会碰到获取当前行的索引,通过索引进行许多操作。例如,可以获得当前行某一个控件元素;设置某一元素的值等等。下面结合实例介绍几种获得GridView当前行索引值的方法。实例:① 目的:获取GridView中RowCommand的当前索引行。② 前台页面:在GridView中添加一模版列,里面添加一个LinkButton控件。代码:"操作"> 阅读详情

在用GridView控件时,我们经常会碰到获取当前行的索引,通过索引进行许多操作。例如,可以获得当前行某一个控件元素;设置某一元素的值等等。

下面结合实例介绍几种获得GridView当前行索引值的方法。

实例:

① 目的:获取GridView中RowCommand的当前索引行。

② 前台页面:在GridView中添加一模版列,里面添加一个LinkButton控件。

代码:

<asp:TemplateField HeaderText="操作">

            <ItemTemplate>

                    <asp:LinkButton ID="lbtnQianRu" runat="server" CommandName="QianRu" 

                     CommandArgument='<%# Eval("Id") %>'>签入</asp:LinkButton>  

                     <asp:LinkButton ID="lbtnQianChu " runat="server" CommandName="QianChu">签出                      </asp:LinkButton>

                    </ItemTemplate>

</asp:TemplateField>

小提示:如果在后台代码中用e.CommandArgument取值的话,前台代码就必须在按钮中设置CommandArgument的值,值为绑定的数据库字段。如:

 //因为在客户端中就已经将LinkButton的CommandArgument与主键Id给绑定了所以在此可以直接用e.CommandArgument得出主键ID的值

int id = Convert.ToInt32(e.CommandArgument.ToString()); 

③ 在GridView里已经设置了LinkButton为事件处理按钮,将通过以下方法获取索引:

protected void gv_Company_RowCommand(object sender, GridViewCommandEventArgs e){

 if (e.CommandName == "QianRu")

{  

【方法一】

GridViewRow drv = ((GridViewRow)(((LinkButton)(e.CommandSource)).Parent.Parent)); //此得出的值是表示那行被选中的索引值

 inf id=Convert.ToInt32(GridView1.DataKeys[drv.RowIndex].Value); //此获取的值为GridView中绑定数据库中的主键值

注意:运用此方法,需要对GridView的DataKeyNames属性进行设置,此例中设置为主键字段。

【方法二】

GridViewRow drv = (GridViewRow)((LinkButton)e.CommandSource).NamingContainer;//此得出的值是表示那行被选中的索引值

int id = Convert.ToInt32(GridView1.Rows[drv.RowIndex].Cells[0].Text);   //此获取的值为GridView中绑定数据库中的主键值,取值方法是选中的行中的第一列的值,drv.RowIndex取得是选中行的索引

  }

 }

 

此外,还有一些方法可以实现获得当前行索引值。

【方法三】在linkbutton控件的Command事件,利用sender的Parent获取GridView中的当前行。

                   protected void lbtnQianChu_Command(object sender, CommandEventArgs e)

                   {

                    LinkButton lb = (LinkButton)sender;

                            DataControlFieldCell dcf = (DataControlFieldCell)lb.Parent;

                            GridViewRow 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; 

}

【方法五】如果在模板列中添加一下DropDownList控件,并开启其AutoPostback属性,在DropDownList 的SelectedIndexChanged事件中,获取GridView中的当前行。

下面是SelectedIndexChanged事件的代码摘要:

DropDownList ddl = (DropDownList)sender;

GridViewRow gvr = (GridViewRow)ddl.NamingContainer;

int id = int.Parse(GridView1.DataKeys[gvr.RowIndex][0].ToString());

int num = int.Parse(ddl.Text);

第一句用来获取触发事件的DropDownList控件。

第二句就利用该控件的NamingContainer属性,获取其容器,也就是GridViewRow对象。

 

提示:由于DropDoweList与button不同,无法指定其CommandName,所以,通过用NamingContainer属性来解决问题。

    先来看看微软对该NamingContainer属性的解释:

    获取对服务器控件的命名容器的引用,此引用创建唯一的命名空间,以区分具有相同Control.ID属性值的服务器控件。

    ASP.NET Web 应用程序的每一页均包含控件的层次结构。此层次结构与控件是否生成用户可见的 UI 无关。给定控件的命名容器是层次结构中该控件之上的父控件,此父控件实现InamingContainer 接口。实现此接口的服务器控件为其子服务器控件的 ID 属性值创建唯一的命名空间。

    当针对列表 Web 服务器控件(如 Repeater 和 DataList 服务器控件)进行数据绑定时,为服务器控件创建唯一的命名空间尤其重要。当数据源中的多个项创建服务器控件的多个实例,且该服务器控件是重复控件的子级时,命名容器确保这些子控件的每个实例具有不冲突的UniqueID属性值。页的默认命名容器是请求该页时生成的Page类的实例。

可以使用此属性确定特定服务器控件所在的命名容器。

 

【方法六】如果模板列中有CheckBox控件的情况,通过CheckBox1_CheckedChanged事件中,获取GridView中的当前行。

CheckBox chk = (CheckBox)sender;

DataControlFieldCell dcf = (DataControlFieldCell)chk.Parent;

GridViewRow gvr = (GridViewRow)dcf.Parent;

 

【方法七】

<asp:GridView ID="gvTest" runat="server">         

        <Columns>

        <asp:TemplateField>

        <ItemTemplate>

        DisplayIndex : <%# Container.DisplayIndex %>  || DataItemIndex : <%# Container.DataItemIndex %><br />

        </ItemTemplate>

        </asp:TemplateField>

        </Columns>

</asp:GridView>

中文翻译《ASPICE in practice》之“SUP.8 配置管理” 一般来说,自动化程度越低,负责 CM 的个人就必须花费越多的精力,例如,检查基线的正确性和完整性,或确保在归档系统上正确完成手动版本控制。必须防止未经许可的访问。为了唯一地标识基线,许多 CM 工具提供了一种“标记”基线的机制,即为受影响的 CM 项目的所有版本分配相同的标签,例如“第 3 次交付状态”。此选择必须允许绘制合格的基线(参见 BP5),即确保实际上所有描述特定开发阶段的元素(需求和设计文档、开发环境、变更请求、测试用例、测试文档,也可能是重要的中间工作产品等)都可以在 CM 系统中进行基线。 阅读详情

相关推荐

SpyGlass Lint脚本实战:从环境配置到报告生成的完整流程解析

本文详细解析了使用SpyGlass Lint脚本进行数字芯片设计代码质量检查的完整自动化流程。从环境配置、目录结构设计,到核心TCL脚本的编写与模块化配置,再到脚本执行、调试技巧及报告解读,提供了构建健壮、可维护自动化检查框架的实战指南。文章重点阐述了如何通过脚本实现从环境配置到报告生成的一键式操作,并探讨了与企业级CI/CD流程集成的进阶方案。

weixin_29196613的博客 441

GridView 使用技巧

1.GridView中使用超链接的技巧  GridView中的超级链接,可以设置一个模版列,放入超级链接的控件,设置绑定参数即可。数据绑定方式有两种,如下示例:◆Eval方式     ◆Bind方式    推荐使用第一种方式,可以在一个里放入多个绑定,而第二种只能如此绑定一个值做超级链接的控件,我们也有多种选择:◆asp:LinkButton 示例 runat="server">◆asp

fengsuiyingdong的专栏 1038

马尔可夫网络和贝叶斯网络的一些总结

马尔可夫网络和贝叶斯网络的一些总结 最近学习了一些关于概率逻辑的知识图谱推理方法,主要就是贝叶斯网络和马尔可夫网络,在此总结一下,内容都来自网络资料,这里加入了一下个人的理解,尽量为大家避雷! 这篇文章是我目前在网络上找到的关于贝叶斯网络最清晰的介绍,大家有兴趣可以去看看 贝叶斯网络中比较重要的两部分就是贝叶斯网络的结构和条件概率表。 贝叶斯网络的结构 下面通过一个例子来介绍: 贝叶斯网的网络结...

qq_43654303的博客 4374

asp.net中用LinkButton取到gridview中当前行的ID值

//前台 <asp:LinkButton ID="LinkButton3" runat="server" Text ="删除" ForeColor="#7B7B7B" CommandArgument='<%# Eval("ID") %>' onclick="LinkButton3_Click" o...

195

从Level 1到Level 22:手把手带你用Burp Suite通关burp-labs靶场全关卡(附难点解析)

本文详细解析了如何使用Burp Suite通关burp-labs靶场的22个关卡,从基础爆破到复杂编码绕过,涵盖Intruder配置、响应过滤、POST请求处理、MD5爆破等关键技术。特别针对Level 16的三重编码和Level 20的中文响应处理等难点提供实战技巧,帮助渗透测试工程师提升Web安全实战能力。

weixin_28831461的博客 436

光伏电站发电功率预测实战:从基础物理模型到LSTM时间序列分析

本文系统介绍了光伏电站发电功率预测的实战方法,从基础的物理晴空模型到先进的LSTM时间序列分析。通过结合电工杯等竞赛中常用的代码与模型,详细阐述了如何利用历史数据和数值天气预报构建高精度预测体系,并针对阴雨天气等预测瓶颈提出了分场景建模与模型融合等优化策略,为电站运维和电网调度提供可靠的数据支持。

pp12345的博客 216

如何获取DataGridView当前行的id号

前提是,必须让数据库中的id号显示在表格中,(当然你可以显示后再隐藏掉) 如何获取当前选中的行的id呢? 方法是: dataGridView1.SelectedRows[0].Cells[0].Value.ToString()  进而用int.Parse(dataGridView1.SelectedRows[0].Cells[0].Value.ToString()) 或者:Convert.

学过印刷包装工程研究过食品科学且会点计算机编程的多功能码农 2903

VFIO框架源码分析(一)- 从初始化到设备访问

本文深入剖析了Linux内核中的VFIO(Virtual Function I/O)框架,详细解读了其从初始化到设备访问的全过程。VFIO通过Container->Group->Device的层次化设计,利用IOMMU提供安全隔离,允许用户空间直接访问物理设备。文章基于Linux v5.15版本,重点分析了vfio_init模块入口、Container创建与配置、Group关联以及最终设备访问等关键环节,揭示了VFIO如何通过逐层授权机制构建安全可靠的设备直通模型,为虚拟化技术提供核心支持。

qq_36071928的博客 380

ASP.NET(C#)中GridView怎么获得当前行的信息

直接在GRIDVIEW里添加一列选择列,在SelectedIndexChanged事件下写 TextBox.Text=GridView1.SelectedRow.Cells[你要显示在TextBox里的单元格的下标].Text; 就行了 以下添加选择行的方法: 点击GridView1右上访的那个小黑三角形.选择"Edit Columns", 这时会弹出一个对话框,选中左上角列

kirawoo的专栏 7658

树莓派4B+DroneKit实战:手把手教你用Python控制无人机飞行(附避坑指南)

本文提供了一份详尽的树莓派4B与DroneKit配置实战指南,涵盖从硬件选型、软件环境搭建到Python编程控制无人机的完整流程。文章重点解决了ARM架构下的兼容性问题、MAVLink通信配置及端口管理等常见难题,并附带了实用的避坑指南和代码示例,帮助开发者构建稳定可靠的无人机控制系统。

weixin_29056781的博客 410

Oracle EBS AP发票被预付款核算创建会计科目时间超长

在客户职能部门的水电、通信和物业等费用统一管理或对接部门报销时,用户将所有费用分摊到各个末级部门,导致AP发票行数高达上千行。这引发了以下问题:1)用户过账时,创建会计科目的请求执行超过20小时未完成,只能手动取消;2)取消请求后,系统一直处于回滚状态;3)通过SQL脚本分析,发现预付发票核销分配行表记录数量庞大,单笔AP发票记录高达90多万条,类似发票共有5笔。

陈显平的专栏-Oracle EBS 352

关于获取gridview里点击时获取对应的id号

首先在.aspx页面的gridview里写下      ' />   然后再后台.cs的gridviewd的RowCommand事件里写下:         //点击确认头像按钮         protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)         {

liupeipei1234的专栏 2363

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

学习笔记19(GridView根据循环按钮获取当前行ID或其他字段)

在用GridView控件时,我们经常会碰到获取当前行的索引,通过索引进行许多操作。例如,可以获得当前行某一个控件元素;设置某一元素的值等等。 下面结合实例介绍几种获得GridView当前行索引值的方法。 实例: ①目的:获取GridView中RowCommand的当前索引行。 ②前台页面:在GridView中添加一模版列,里面添加一个LinkButton控件。 代码: &lt;asp:...

爱.NET 131

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

GridView模版列里的按钮取GridView当前被操作行的数据或id

点击GridView模版列里的按钮取GridView当前被操作行的数据这种情况经常都会有的,就是在GridView里加一个模版列,里面放一些按钮,然后呢,点击这些按钮的时候,要可以取到GridView当前被点击的行的字段里的内容一般有两种情况,只需要取一个字段的值,和要取多个字段的值,其实都是一样的方法,就是使用CommandArgument属性一、只需要取一个

Sonic_Guo的专栏 712

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

GridView,DataList控件获取当前行的行号

在用GridView控件时,我们经常会碰到获取当前行的索引,通过索引进行许多操作。例如,可以获得当前行某一个控件元素;设置某一元素的值等等。下面结合实例介绍几种获得GridView当前行索引值的方法。 实例: ① 目的:获取GridView中RowCommand的当前索引行。

anchenyanyue的专栏 4148

GridView获取当前行的索引值

在用GridView控件时,我们经常会碰到获取当前行的索引,通过索引进行许多操作。例如,可以获得当前行某一个控件元素;设置某一元素的值等等。 下面结合实例介绍几种获得GridView当前行索引值的方法。 实例: ① 目的:获取GridView中RowCommand的当前索引行。 ② 前台页面:在GridView中添加一模版列,里面添加一个LinkButton控件。 代码: <as...

weixin_30535043的博客 488

gridview获取当前行索引的方法

Asp.net技巧:gridview获取当前行索引的方法2009-8-12 21:55:18 已被阅读:708 发表评论 在用GridView控件时,我们经常会碰到获取当前行的索引,通过索引进行许多操作。例如,可以获得当前行某一个控件元素;设置某一元素的值等等。 下面结合实例介绍几种获得GridView当前行索引值的方法。 实例: ① 目的:获取GridView中RowCommand的当前...

weixin_34137799的博客 733

Asp.net技巧:gridview获取当前行索引的方法

在用GridView控件时,我们经常会碰到获取当前行的索引,通过索引进行许多操作。例如,可以获得当前行某一个控件元素;设置某一元素的值等等。下面结合实例介绍几种获得GridView当前行索引值的方法。实例:① 目的:获取GridView中RowCommand的当前索引行。② 前台页面:在GridView中添加一模版列,里面添加一个LinkButton控件。代码:

rubychen410的专栏 2217

GridView 获取当前行的索引值

  在用GridView控件时,我们经常会碰到获取当前行的索引,通过索引进行许多操作。例如,可以获得当前行某一个控件元素;设置某一元素的值等等。 下面结合实例介绍几种获得GridView当前行索引值的方法。 实例: ① 目的:获取GridView中RowCommand的当前索引行。 ② 前台页面:在GridView中添加一模版列,里面添加一个LinkButton控件。 代码: &lt...

weixin_34056162的博客 528

点击GridView模版列里的按钮取GridView当前被操作行的数据

  点击GridView模版列里的按钮取GridView当前被操作行的数据 这种情况经常都会有的,就是在GridView里加一个模版列,里面放一些按钮,然后呢,点击这些按钮的时候,要可以取到GridView当前被点击的行的字段里的内容一般有两种情况,只需要取一个字段的值,和要取多个字段的值,其实都是一样的方法,就是使用CommandArgument属性一、只

tianhuo_soft的专栏 2414
上一篇: NHibernate中many-to-one映射关系
下一篇: C#中时间比较
KimoGao
博客等级 码龄16年 180粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值