获取GridView中RowCommand的当前选中行的索引或主键Id

  1. 获取GridView中RowCommand的当前索引行 前台添加一模版列,里面添加一个LinkButton
  2. 前台 (如果在后台代码中用e.CommandArgument取值的话前台代码就必须在按钮中设置CommandArgument的值,值为绑定的数据库字段
  3. <asp:TemplateField HeaderText="操作">
  4.     <ItemTemplate>
  5.         <asp:LinkButton ID="LinkButton1" runat="server" CommandName="QianRu" 
  6.         CommandArgument='<%# Eval("Id") %>'>签入</asp:LinkButton>  
  7.         <asp:LinkButton ID="LinkButton2" runat="server" CommandName="QianChu">签出</asp:LinkButton>
  8.     </ItemTemplate>
  9. </asp:TemplateField>
  10. 后台
  11. 在GridView里已经设置了LinkButton为事件处理按钮,将通过以下方法获取索引
  12. protected void gv_Company_RowCommand(object sender, GridViewCommandEventArgs e){
  13.         if (e.CommandName == "QianRu")
  14.     {     //取ID的值方法一   
  15.               GridViewRow drv = ((GridViewRow)(((LinkButton)(e.CommandSource)).Parent.Parent)); //此得出的值是表示那行被选中的索引值
  16.               inf id=Convert.ToInt32(GridView1.DataKeys[drv.RowIndex].Value); //此获取的值为GridView中绑定数据库中的主键值
  17.           //取ID的值方法二   
  18.               GridViewRow drv = ((GridViewRow)(((LinkButton)(e.CommandSource)).Parent.Parent)); //此得出的值是表示那行被选中的索引值
  19.               //此获取的值为GridView中绑定数据库中的主键值,取值方法是选中的行中的第一列的值,drv.RowIndex取得是选中行的索引
  20.           int id = Convert.ToInt32(GridView1.Rows[drv.RowIndex].Cells[0].Text); 
  21.           //取ID的值方法三  
  22.           //因为在客户端中就已经将LinkButton的CommandArgument与主键Id给绑定了所以在此可以直接用e.CommandArgument得出主键ID的值
  23.           int id = Convert.ToInt32(e.CommandArgument.ToString()); 
    1. //取ID的值方法四
    2.           //此方法不需在模板列中设置CommandArgument的值
    3.           string index=e.CommandArgument.ToString(); //那行被选中,取出选中行的索引
    4.           int id=Convert.ToInt32(GridView1.Rows[Convert.ToInt32(index)].Cells[0].Text);
            }
  24.     }
  25. 还有一种就是我们并不需要知道当前点击的是第几行,可以用以下方法实现要求: 
  26. <ItemTemplate> 
  27.       <asp:LinkButton ID="LinkButton1" runat="server" CommandArgument=' <%# Eval("field1") %>' 
  28.       CommandName="play" Text=' <%# Eval("field2") %>'> </asp:LinkButton> 
  29. </ItemTemplate> 
  30. 上面这个LinkButton,Text绑定了字段2, CommandArgument绑定了字段1 
  31. 那么, 
  32. protected  void  GridView1_RowCommand(object  sender,  GridViewCommandEventArgs  e) 
  33.     if(e.CommandName="play")
  34.     {
  35.         LinkButton lb = (LinkButton)e.CommandSource; 
  36.         string  a  =  lb.Text;//这里可以获得点击行字段field2的值 
  37.         string b = e.CommandArgument;//这里可以获得点击行字段field1的值
  38.     }
  39. }
  40. 或:
  41. 如果是使用模板列,可以把数据的任意一列绑定到按钮的CommandArgument,如下: 
  42. <asp:TemplateField> 
  43. <ItemTemplate> 
  44. <asp:Button runat="server" CommandArgument='<%# Eval("id") %>' Text="Button" /> 
  45. </ItemTemplate> 
  46. </asp:TemplateField> 
  47. 一般可以绑定到主键列,这样可以在RowCommand通过e.CommandArgument获取当前行的主键,也便于进行其他操作 
  48. 如果是要获取行索引,比较麻烦一点,还是那个Button1,在GridView的RowDataBound事件中如下: 
  49. Button btn = (Button)e.Row.FindControl("Button1"); 
  50. if (btn != null
  51. btn.CommandArgument = e.Row.RowIndex.ToString(); 
  52. 这样就可以在RowCommand中通过 int rowId=Convert.ToInt32(e.CommandArgument.ToString()) 获取行索引了 

转载于:https://www.cnblogs.com/juan/archive/2009/03/31/1425928.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/276604.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

系统架构师 项目经理 哪个更有前景_中央空调加地暖与五恒系统,哪个更省钱?...

每逢严冬酷暑,人们都会感叹空调是最伟大的发明,并且随着科技发展还在不断进化。从烤火取暖到空调和地暖的供暖,从纸扇电扇的吹风到空调的制冷,人们的需求正在不断提高,于是,为了满足人们的需求&#xff0c;市场上又衍生出了家装五恒系统。 恒温、恒湿、恒氧、恒洁、恒静这…

软件架构基本原则

软件架构本质上是绘制一幅复杂素描所打的草稿&#xff0c;我还说&#xff0c;如果你罩得住&#xff0c;可以不需要这个草稿。但这只是“理论上”&#xff0c;我们写软件&#xff0c;基本上不是在写只有几千行的代码的小程序&#xff0c;而是写数千万行的大型程序。《道德经》说…

Smarty目录结构和子目录路径问题

原文链接&#xff1a;http://bbs.csdn.net/topics/80223905 问题 1).最初在模板文件中使用了绝对路径&#xff08;相对于站点根的路径 ).如在system_info.tpl中图片是这样显示的<img src"/templates/default/images/logo.gif"/>这样当系统发布时&#xff0c;…

c++直角坐标系与极坐标系的转换_一篇阅读量高达2百6十多万的关于坐标系和投影的相关知识探讨...

本文转载于CSDN作者rsyaoxin这是一篇关于坐标和投影的「神文」截止目前浏览量已达2698239是相关文章中不可打破的神话...文末有本文作者推荐的两款坐标转换的小工具下载链接回想一下&#xff0c;接触遥感专业也有几个年头了&#xff0c;而现在越来越偏离遥感了&#xff0c;突然…

c# xmlhttp POST提取远程webservice数据

public string cancel(string StudentID,string Mobile){string datanull;data "<?xml version1.0 encodingutf-8?><soap:Envelope xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:xsdhttp://www.w3.org/2001/XMLSchema xmlns:soaphttp://schemas.…

Javascript实现的左右滑动菜单

原文链接&#xff1a;http://www.cnblogs.com/miqi2214/archive/2009/04/28/1445308.html Javascript实现的左右滑动菜单 先看Demo便于理解&#xff1a;请大家往这里看 业务需求&#xff1a; 1. 菜单个数不固定&#xff0c;当菜单个数长度小于给定范围宽度&#xff0c;则左右移…

查询用户分配角色TCODE

s_bce_68001419 转载于:https://www.cnblogs.com/yangliang/archive/2009/04/13/1434862.html

query string parameters什么意思_public static void main(String[] args) 是什么意思?(转)...

public static void main(String[] args)&#xff0c;是java程序的入口地址&#xff0c;java虚拟机运行程序的时候首先找的就是main方法。一、这里要对main函数讲解一下&#xff0c;参数String[] args是一个字符串数组&#xff0c;接收来自程度序执行时传进来的参数。如果是在控…

经典算法:位图排序

最近发现一个有趣的排序算法&#xff0c;通过位图来完成排序。位图排序其实就是基数排序&#xff0c;只不过位图排序的下标是比特位。 问题描述 输入&#xff1a;一个最多包含n个正整数的文件&#xff0c;每个数都小于n&#xff0c;其中n10^7。如果在输入文件中有任何正数重复出…

PHP中删除目录的三种方法

原文链接&#xff1a;http://www.chinaz.com/program/2008/1022/41645.shtml PHP中删除目录的三种方法 1、递规法&#xff1a;利用递归一层一层的删。 deleteDir(&#xff04;dir) { if (rmdir(&#xff04;dir)false && is_dir(&#xff04;dir)) {if (&#xff04;d…

b样条曲面绘制 opengl_CAD制图软件中如何利用EXCEL输入坐标绘制曲线?

当在使用浩辰CAD制图软件绘制图纸的过程中&#xff0c;经常要绘制由多个坐标点连接成的曲线时&#xff0c;有什么方便快捷的方法吗&#xff1f;那当然是有的。利用EXCEL表格保存数据并与CAD制图软件巧妙地结合起来&#xff0c;就能很容易地画出曲线。下面给大家详细介绍一下吧&…

根据进程名杀掉进程

foreach (System.Diagnostics.Process pro in System.Diagnostics.Process.GetProcesses()){if (pro.ProcessName "Bss"){pro.Kill();break;}} 转载于:https://www.cnblogs.com/wolfcool/archive/2009/04/17/1438284.html

JavaScript 操作 Cookie

从事web开发也有些日子了&#xff0c;cookie 是个啥差不多能说明白&#xff0c;可是实际自己一上手操作就是得去搜索(你们懂的)&#xff0c;结果被鄙视了...所以就写一篇博文做为自己的学习笔记&#xff0c;嘿嘿&#xff0c;博客的好处在此体现出来了。 什么是 Cookie “cookie…

阿里云服务器购买该如何选择?阿里云服务器购买步骤流程介绍...

很多第一次购买阿里云服务器&#xff0c;不知该如何选择适合自已的服务器。其实购买阿里云服务器&#xff0c;主要是根据自已网站的流量来决定的。如果网站流量不大&#xff0c;一天只有几百ip&#xff0c;一般选择1核cpu&#xff0c;1G内存&#xff0c;1MB带宽就可以用了&…

python 切片_全面解读Python高级特性切片

大家好&#xff0c;欢迎来到Crossin的编程教室&#xff01;众所周知&#xff0c;我们可以通过索引值(或称下标)来查找序列类型(如字符串、列表、元组…)中的单个元素&#xff0c;那么&#xff0c;如果要获取一个索引区间的元素该怎么办呢&#xff1f;切片(slice)就是一种截取索…

十大Web网站漏洞扫描工具

原文链接&#xff1a;http://zhumeng8337797.blog.163.com/blog/static/1007689142012819111054920/ 1. Nikto 这是一个开源的Web服务器扫描程序&#xff0c;它可以对Web服务器的多种项目(包括3500个潜在的危险文件/CGI&#xff0c;以及超过900个服务器版本&#xff0c;还有250…

读书笔记(06) - 语法基础 - JavaScript高级程序设计

写在开头 本篇是小红书笔记的第六篇&#xff0c;也许你会奇怪第六篇笔记才写语法基础&#xff0c;笔者是不是穿越了。 答案当然是没有&#xff0c;笔者在此分享自己的阅读心得&#xff0c;不少人翻书都是从头开始&#xff0c;结果永远就只在前几章。对此&#xff0c;笔者换了随…

最近做了一个安装包的安装流程图

最近到做安装包的详细设计。下图是安装包的流程图&#xff0c;如果有什么意见和建议&#xff0c;希望大家给我留言&#xff0c;大家以前讨论 转载于:https://www.cnblogs.com/zengshengping815/archive/2009/04/22/1441319.html

如何使用Nikto漏洞扫描工具检测网站安全

转载链接&#xff1a;http://www.linuxidc.com/Linux/2011-02/32000.htm 【51CTO.com 独家特稿】随着信息技术的发展&#xff0c;网络应用越来越广泛&#xff0c;很多企业单位都依靠网站来运营&#xff0c;正因为业务的不断提升和应用&#xff0c;致使网站的安全性显得越来越重…

什么是区块链预言机(BlockChain Oracle)

预言机 Oracle 是区块链中非常重要的一个功能&#xff0c;但我发现很少有人讨论&#xff0c;也可能很多人对此并不了解。而网上关于预言机的文章很少&#xff0c;很多也没有讲明白&#xff0c;甚至有些还是错误的。所以我整理了一篇详细的文章&#xff0c;分享给大家&#xff0…