0

我的代码隐藏页面中有一个带有复选框的网格视图。功能是我需要使用复选框选择要删除的记录,然后单击删除按钮。我使用下面的代码来做到这一点。但是当我选择最后一行时,它不会被删除。相反,它会抛出 IndexOutOfRange/ System.FormatException ..

在这一行抛出错误

  CheckBox chkb = (CheckBox)gvAll.Rows[i].Cells[0].FindControl("chk");


       for (int i = 0; i < count; i++)
         {
             CheckBox chkb = (CheckBox)gvAll.Rows[i].Cells[0].FindControl("chk");
             if (chkb.Checked == true)
             {
                 string name = gvAll.Rows[i].Cells[3].Text;
                 if (!(name.Equals(System.DBNull.Value)))
                 {
                     a.delete(name);
                 }
             }
         }

这是一个紧迫的问题。请帮忙..

4

1 回答 1

1

一个foreach怎么样?

     foreach(GridViewRow row in gvAll.Rows)
     { 
         CheckBox chkb = (CheckBox)row.Cells[0].FindControl("chk"); 
         if (chkb.Checked == true) 
         { 
             string name = row.Cells[3].Text; 
             if (!(name.Equals(System.DBNull.Value))) 
             { 
                 a.delete(name); 
             } 
         } 
     } 
于 2012-06-01T11:01:49.670 回答