Hola:
Queria saber si en este codigo hay algo malo ya que me pone un error que dice:
El índice está fuera del intervalo. Debe ser un valor no negativo e inferior al tamaño de la colección. Nombre del parámetro: index
Línea 117: Dim key As String = DataGrid1.DataKeys(e.Item.ItemIndex).ToString
El codigo es este:
Private Sub DataGrid1_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles DataGrid1.UpdateCommand
Dim key As String = DataGrid1.DataKeys(e.Item.ItemIndex).ToString
Dim apsNombre, apsApellido As String
Dim tb As TextBox
tb = CType(e.Item.Cells(2).Controls(0), TextBox)
apsNombre = tb.Text
tb = CType(e.Item.Cells(3).Controls(0), TextBox)
apsApellido = tb.Text
Dim r As dsaps.apsRow
r = Dsaps1.aps.FindByNombre(key)
' Updates the dataset table.
r.Nombre() = apsNombre
r.Apellido() = apsApellido
' Calls a SQL statement to update the database from the dataset
SqlDataAdapter1.Update(Dsaps1)
' Takes the DataGrid row out of editing mode
DataGrid1.EditItemIndex = -1
' Refreshes the grid
DataGrid1.DataBind()
If Not Page.IsPostBack Then
If Session("mydatset") Is Nothing Then
SqlDataAdapter1.Fill(Dsaps1)
Session("mydataset") = Dsaps1
Else
Dsaps1 = CType(Session("mydatset"), dsaps)
End If
DataGrid1.DataBind()
End If
SqlDataAdapter1.Update(Dsaps1)
Session("mydataset") = Dsaps1
End Sub