gridview按钮字段

时间:2012-09-25 15:55:41

标签: asp.net gridview

我有一个带按钮字段的gridview。我想更新数据库中的表,并在按钮单击时更改按钮图像。什么是我可以访问行索引的最佳事件? 我已尝试使用RowCommand事件但无法从该事件访问行索引

3 个答案:

答案 0 :(得分:1)

您可以尝试使用此代码 - 基于CommandArgument

void GridView_RowCommand(Object sender, GridViewCommandEventArgs e)
  {
    if(e.CommandName=="Test")
    {
      int index = Convert.ToInt32(e.CommandArgument);
      GridViewRow row = CustomersGridView.Rows[index];
    }
  }

链接:http://msdn.microsoft.com/fr-fr/library/system.web.ui.webcontrols.gridview.rowcommand(v=vs.80).aspx

答案 1 :(得分:1)

而不是asp:ButtonField使用asp:TemplateFieldasp:Button。设置CommandName说, MyCommand 。现在在RowCommand事件中,执行此操作

var clickedRow = (GridViewRow)((Button)sender).NamingContainer;
var clickedIndex = clickedRow.RowIndex;

答案 2 :(得分:0)

我刚刚查看了这里的文档http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowcommand.aspx

如果查看“注意”部分(下面是为了方便起见),您应该能够从CommandArguement属性中获取RowIndex:

  

注意要确定引发事件的行的索引,请使用   传递给的事件参数的CommandArgument属性   事件。 ButtonField类自动填充   CommandArgument属性具有适当的索引值。对于其他   在命令按钮中,必须手动设置CommandArgument属性   命令按钮。例如,您可以将CommandArgument设置为   <%#Container.DataItemIndex%>当GridView控件没有分页时   启用。