none
¿como actualizar una fila de un gridview vb.net webforms? RRS feed

  • Pregunta

  • Tengo una consulta y es la siguiente:

        Deseo actualizar los campos de una fila de un gridview al dar clic a editar se habilitan las cajas ingreso datos nuevos pero al actualizar guarda los datos anteriores y no los nuevos valores.

     
    <asp:GridView ID="gvListaHoraRetiro" runat="server" Height="96px" Width="466px" 
                        AutoGenerateColumns="false" DataKeyNames="CodCapOrdenRetiro" AutoGenerateDeleteButton="True" AutoGenerateEditButton="True" 
                        OnRowEditing="OnRowEditing" OnRowCancelingEdit="OnRowCancelingEdit" OnRowUpdating="OnRowUpdating">
                        <Columns>
                            <asp:BoundField DataField="CodCapOrdenRetiro" HeaderText="Codigo" InsertVisible="false" ReadOnly="true" SortExpression="CodCapOrdenRetiro"/>
                            <asp:BoundField DataField="HoraRetiro" HeaderText="Horario" SortExpression="HoraRetiro"/>
                            <asp:BoundField DataField="capacidad" HeaderText="Capacidad" SortExpression="capacidad"/>
                        </Columns>
                    </asp:GridView>

    Evento editar

    Protected Sub OnRowEditing(sender As Object, e As GridViewEditEventArgs)
            gvListaHoraRetiro.EditIndex = e.NewEditIndex
            Listar()
        End Sub

    Evento Actualizar

    Protected Sub OnRowUpdating(sender As Object, e As GridViewUpdateEventArgs)
            Dim row As GridViewRow = gvListaHoraRetiro.Rows(e.RowIndex)
        
            Dim codigo As String = row.Cells(1).Text
            Dim hretiro As String = (CType((row.Cells(2).Controls(0)), TextBox)).Text
            Dim capacidad As String = (CType((row.Cells(3).Controls(0)), TextBox)).Text
            Dim usuario As String = Convert.ToString(Session("usuario"))
        
            If (usuario.Equals("")) Then
                Response.Write("<script>alert('Expiro la sesion , Por favor volver a inicar sesion.')</script>")
                System.Web.Security.FormsAuthentication.SignOut()
                System.Web.Security.FormsAuthentication.RedirectToLoginPage()
            End If
        
            Dim objCapacidad As New BE_CapacidadHoraRetiro
        
            objCapacidad.CodCapOrdenRetiro = Convert.ToInt32(codigo)
            objCapacidad.HoraRetiro = hretiro
            objCapacidad.Capacidad = Convert.ToInt32(capacidad)
            objCapacidad.UsuarioRegistro = usuario
            dao.Modificar(objCapacidad)
            Response.Write("<script>alert('Se Actualizado Correctamente')</script>")
            gvListaHoraRetiro.EditIndex = -1
        
            Listar()
        End Sub

      He buscado métodos en otras paginas de como actualizar la grilla pero la mayoria obtiene los valores a actualizar de esa forma cuando trabajas con asp:BoundField

    lunes, 29 de marzo de 2021 16:19

Todas las respuestas

  • Hola,

    Gracias por levantar tu consulta en los foros de MSDN.

    Eric Ruiz

    ____________________________

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.

    lunes, 29 de marzo de 2021 17:21
    Moderador