![]() |
Problema al querer actualizar una fila del datagrid Hola necesito urgente ayuda sobre este tema que ya me ha sacado de las casillas. Tengo una grilla con un boton de actualizar, pero el problema esta de cuando intento recuperar los datos modificados de la fila de la grilla me sigue recuperando los datos viejos. Adjunto el codigo asociado haber si alguien le puede encontrar una explicacion. Desde ya les agradezco mucho. Private Sub dgUsuarios_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles dgUsuarios.EditCommand 'Obtiene el indice de la fila de la grilla a actualizar dgUsuarios.EditItemIndex = e.Item.ItemIndex dgUsuarios.DataBind() End Sub Private Sub dgUsuarios_CancelCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles dgUsuarios.CancelCommand 'Finaliza edicion de la grilla dgUsuarios.EditItemIndex = -1 dgUsuarios.DataBind() End Sub Private Sub dgUsuarios_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles dgUsuarios.UpdateCommand 'Realiza la actualizacion de los datos editados en la base de datos Dim strusrkey As String 'Defino un datarow para almacenar la fila modificada de la grilla Dim drusuarios As dsUsuarios.UsuariosRow Dim stragt, strcod, strtpo, strnom, strape, strtel1, strint1, strtel2, strint2, strmail, strfax As String 'Obtiene el indice de la fila editada strusrkey = dgUsuarios.DataKeys.Item(e.Item.ItemIndex).ToStrin g 'Obtiene las celdas con los valores modificados. Cada celda tiene una coleccion 'controles. en este caso solo un control que es un textbox, que contiene 'en la celda cero el "Actualizar" y "Cancelar" strtpo = CType(e.Item.Cells(3).Controls(0), TextBox).Text strnom = CType(e.Item.Cells(4).Controls(0), TextBox).Text strape = CType(e.Item.Cells(5).Controls(0), TextBox).Text strtel1 = CType(e.Item.Cells(6).Controls(0), TextBox).Text strint1 = CType(e.Item.Cells(7).Controls(0), TextBox).Text strtel2 = CType(e.Item.Cells(8).Controls(0), TextBox).Text strint2 = CType(e.Item.Cells(9).Controls(0), TextBox).Text strmail = CType(e.Item.Cells(10).Controls(0), TextBox).Text strfax = CType(e.Item.Cells(11).Controls(0), TextBox).Text 'Obtiene la fila modificada de la grilla drusuarios = DsUsuarios1.Usuarios.FindByAgtCodUsrCod(AgtCod, strusrkey) 'Actualiza los campos de la fila con los valores obtenidos de la celda drusuarios.UsrTpo = strtpo drusuarios.UsrNom = strnom drusuarios.UrApe = strape drusuarios.UsrTel1 = strtel1 drusuarios.UsrTelInt1 = strint1 drusuarios.UsrTel2 = strtel2 drusuarios.UsrTelInt2 = strint2 drusuarios.UsrMail = strmail drusuarios.UsrFax = strfax 'Finaliza la edicion de la fila drusuarios.EndEdit() 'Actualiza el dataset daUsuarios.Update(DsUsuarios1) 'Acepta los cambios para actualizar la base de datos DsUsuarios1.AcceptChanges() 'Sale del modo de edicion dgUsuarios.EditItemIndex = -1 'Hace el refresh a la grilla dgUsuarios.DataBind() End Sub :molesto: :molesto: |
Hola.. creo que para empezar en tu código de: Cita:
ejemplo: Cita:
Checalo y me dices que tal te fue. :arriba: Saludos :-D |
| La zona horaria es GMT -6. Ahora son las 09:44. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.