none
Eliminar con textbox en un gridview RRS feed

  • Pregunta

  • Buenas tardes.

    tengo una consulta talvez me pueden echar la mano.

    tengo 4 cajas de texto y un botón agregar que lo que hace es:

    Dim conteo As Integer = ResponsabilidadLista.Count + 1
            If (conteo < 9) Then
                ResponsabilidadLista.Add(New clsResponsabilidad(Txt_AccionResponsabilidad.Text, Txt_FuncionResponsabilidad.Text, Txt_ResultadoResponsabilidad.Text, conteo))
    
                ViewState("TablaResponsabilidad") = ResponsabilidadLista
    
                dgv_Responsabilidad.DataBind()
                dgv_Responsabilidad.PageIndex = dgv_Responsabilidad.PageCount
    
                Txt_AccionResponsabilidad.Text = String.Empty
                Txt_FuncionResponsabilidad.Text = String.Empty
                Txt_ResultadoResponsabilidad.Text = String.Empty
            Else
                ScriptManager.RegisterClientScriptBlock(Me, GetType(Page), UniqueID, "javascript:alert('No se pueden agregar más de 8 responsabilidades');", True)
                Txt_AccionResponsabilidad.Text = String.Empty
                Txt_FuncionResponsabilidad.Text = String.Empty
                Txt_ResultadoResponsabilidad.Text = String.Empty
            End If

    agregar a una lista los datos que hay en los textbox y estos después asignarlos al gridview.

    Cuando necesito eliminar un dato del gridview solo tomo el index y lo borro de la lista y recargo otra vez el gridview.

    La complicación que tengo es que mi gidview también tiene un botón editar, y es acá donde tengo el problema.

    en el evento editar de dicho gridview tengo lo siguiente:

    dgv_Mision.EditIndex = e.NewEditIndex
            dgv_Mision.DataBind()

    pero lo que me hace es en la fila habilitar la edición, y lo que realmente quiero es que en las 4 cajas de texto me cargue la data, para desde ahi editarla y al darle al botón guardar que me actualize la lista y lo refleje en el gridview. 

    si es muy complicado como tendria que tener el evento acutalizar para que me refresque la lista y despues haga el databind.

    Pueden darme una idea de como logar esto. 

    Saludos

    lunes, 3 de octubre de 2016 20:58

Todas las respuestas

  • hola

    >>pero lo que me hace es en la fila habilitar la edición, y lo que realmente quiero es que en las 4 cajas de texto me cargue la data, para desde ahi editarla y al darle al botón guardar que me actualize la lista y lo refleje en el gridview.

    si usa columnas del tipo BoundField estas muestras los datos en textbox de forms directa, ahora si son columnas TemplateField, eres tu quien debes poner el Eval() en el Text del control que esta en el columnas template

    [ASP.NET][GridView] Edición usando DropDownList

    la idea es que despues de aceptar la edicion en el evento RowUpdating puedas ubicar la entidad en edicion quizas por el id o codigo y volcar los datos que se ingresarin en al row del grid en la entidad

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 4 de octubre de 2016 5:53
  • Hola Leandro, Buenos días. 

    Al final desiste de actualizar las rows en las filas del gridview.

    ya hice la parte en que al seleccionar la data estas vayan a las 4 cajas de texto.

    hasta ahí todo bien.

    Pero tengo una consulta con una variable talvez me puedas ayudar.

    tengo la siguiente clase:

    Public Class DDP_Agreagar
        Inherits System.Web.UI.Page
    
        Dim editMision As Integer
    
    
    
    Protected Sub btn_AgregarMision_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btn_AgregarMision.Click
    
            If (editMision = 0) Then
    
                
    
                dgv_Mision.DataBind()
                dgv_Mision.PageIndex = dgv_Mision.PageCount
    
                
            Else
    
               
                editMision = 0
    
            End If
    
    
        End Sub
    
    
    Protected Sub dgv_Mision_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles dgv_Mision.SelectedIndexChanged
    
            editMision = 1
    
    end sub
    
    End class
    
    

    desde el método "sub dgv_Mision_SelectedIndex" hago que la variable que declare que creo que es global tome el valor de 1 para saber que estoy en modo edición. debugeo y veo que toma dicho valor. al momento de ejecutar el otro método esta siempre me vale 0 y no 1 como lo seteo el método anterior. que estaré haciendo mal para que siempre me este tomando el valor de 0 en el método "btn_AgregarMision_Click" si creo que la variable es global.


    miércoles, 5 de octubre de 2016 16:43