2013-07-17 38 views
0

我試圖刪除網格值在VB.NET與下面的代碼:網格值刪除例外

Protected Sub gv_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles gv.RowDeleting 

      Dim index As Integer = gv.EditIndex 

      Dim row As GridViewRow = DirectCast(gv.Rows(e.RowIndex), GridViewRow) 

      Dim id As Integer = Convert.ToInt32(gv.DataKeys(e.RowIndex).Value.ToString()) 

      'Dim Id As Integer = Integer.Parse(DirectCast(gv.Rows(e.RowIndex).FindControl("txtId"), TextBox).Text) 

      gc.ExecuteCommand("delete from expence where id= '" & Id & "' ") 

      Response.Write("<script type='text/javascript' language='javascript'>alert('Data Updated')</script>") 

      gv.EditIndex = -1 

      bindGrid() 


     End Sub 

這是給我的異常上線Dim id As Integer = Convert.ToInt32(gv.DataKeys(e.RowIndex).Value.ToString())如下:

Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index 

我不知道爲什麼這個例外來臨。

請幫幫我。

回答

1

我想你還沒有定義在GridView控件DataKeys財產,你應該定義你的GridView DataKeys="id" ..

+0

工作。非常感謝 –