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

本文详细介绍了如何在GridView中实现RowCommand事件处理,并通过模板列动态生成包含LinkButton的行,同时阐述了如何获取索引及绑定数据库字段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 获取GridView中RowCommand的当前索引行 前台添加一模版列,里面添加一个LinkButton
  2. (如果在后台代码中用e.CommandArgument取值的话前台代码就必须在按钮中设置CommandArgument的值,值为绑定的数据库字段
  3. <asp:TemplateField HeaderText=>
  4. <asp:LinkButton ID= runat= CommandName=
  5. Eval("Id") %>'>签入</asp:LinkButton>
  6. <asp:LinkButton ID= runat= CommandName=>签出</asp:LinkButton>
  7. </asp:TemplateField>
  8. 在GridView里已经设置了LinkButton为事件处理按钮,将通过以下方法获取索引
  9. gv_Company_RowCommand(sender, GridViewCommandEventArgs e){
  10. (e.CommandName == )
  11. GridViewRow drv = ((GridViewRow)(((LinkButton)(e.CommandSource)).Parent.Parent));
    • id=Convert.ToInt32(GridView1.DataKeys[drv.RowIndex].Value);
  12. GridViewRow drv = ((GridViewRow)(((LinkButton)(e.CommandSource)).Parent.Parent));
    • id = Convert.ToInt32(GridView1.Rows[drv.RowIndex].Cells[0].Text);
    • id = Convert.ToInt32(e.CommandArgument.ToString());
      • index=e.CommandArgument.ToString();
        • id=Convert.ToInt32(GridView1.Rows[Convert.ToInt32(index)].Cells[0].Text);
    1. }
    2. }
    3. <ItemTemplate>
    4. ID= runat= CommandArgument=<%# Eval("field1") %>'
    5. CommandName= Text=<%# Eval("field2") %>'> </asp:LinkButton>
    6. CommandArgument绑定了字段1
    7. 那么,
    8. GridView1_RowCommand(sender, GridViewCommandEventArgs e)
    9. {
    10. )
    11. {
    12. lb = (LinkButton)e.CommandSource;
    13. a = lb.Text;
    14. b = e.CommandArgument;
      • }
      • 如果是使用模板列,可以把数据的任意一列绑定到按钮的CommandArgument,如下:
      • <asp:TemplateField>
      • <ItemTemplate>
      • <asp:Button runat= CommandArgument=Eval("id") %>' Text= />
      • </ItemTemplate>
      • </asp:TemplateField>
      • 一般可以绑定到主键列,这样可以在RowCommand通过e.CommandArgument获取当前行的主键,也便于进行其他操作
      • 如果是要获取行索引,比较麻烦一点,还是那个Button1,在GridView的RowDataBound事件中如下:
      • Button btn = (Button)e.Row.FindControl();
      • (btn !=
    15. {
    16. = e.Row.RowIndex.ToString();
    17. }
    18. rowId=Convert.ToInt32(e.CommandArgument.ToString()) 获取行索引了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值