none
Cargo los campos selecionados de un Grid del Form1 al form2 en cajas de texto pero cuando llamo pero cuando hago la misma funcion de otro from se borran los datos anetriores. RRS feed

  • Pregunta

  • Tengo una forma que se llama FrmCatalogodeProd la cual jala los datos de 2 from uno se llama Provedores y otro FrmLienas de la priemra jalo el IdProveedor y el proveedor y del otra(frmlineas) jalo idlinea y la linea al llarlos los pasa a las cajas de texto correspondiente del  FrmCatalogodeProd el problema es cuando jalo los datos de  uno y llamo al otro se borra los datos. e aqui mi codigo:

     Private Sub GridLinea_CellContentDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles GridLinea.CellContentDoubleClick

            If e.RowIndex = -1 Then
                Return
            End If
            Dim loFila As DataGridViewRow = GridLinea.CurrentRow()
            Using loForm As New FrmCatalogoProd
                loForm.IdClave = loFila.Cells("IdLinea").Value.ToString
                loForm.Producto = loFila.Cells("Lineas").Value.ToString
                Me.Hide()
                Me.Close()
                loForm.ShowDialog()

            End Using

        End Sub

     Private Sub GridProvedores_CellContentDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles GridProvedores.CellContentDoubleClick

            If e.RowIndex = -1 Then
                Return
            End If
            Dim loFila As DataGridViewRow = GridProvedores.CurrentRow()
            Using loForm As New FrmCatalogoProd
                loForm.FirstName = loFila.Cells("ClaveProv").Value.ToString       'este corresponde a TxtIdProveedor.Text
                loForm.LastName = loFila.Cells("Empresa").Value.ToString         'este corresponde a TxtProveedor.Text
                Me.Hide()
                loForm.ShowDialog()

            End Using

        End Sub

    y asi los llamo:

     Private Sub FrmCatalogoProd_Load(sender As Object, e As EventArgs) Handles MyBase.Load
           '*** llena los datos del Grid llamado GridLineas a las cajas de texto de la forma  FrmCatalogodeProd

            TextIdProd.Text = IdClave
            RichProducto.Text = Producto

        '*** llena los datos del Grid llamado GrdProvedores a las cajas de texto de la forma  FrmCatalogodeProd

            TxtIdProveedor.Text = FirstName
            TxtProveedor.Text = LastName


        End Sub

    Gracias por su ayuda.

    viernes, 9 de octubre de 2020 3:50

Todas las respuestas

  • No está muy claro quién llama a quién en tu código, pero por la descripción que haces sospecho que el problema está aqui:

    Using loForm As New FrmCatalogoProd

    Esa misma instrucción la tienes en las dos subrutinas mostradas. Al ejecutar el New, se crea una nueva instancia del FrmCatalogProd. Esa nueva instancia aparece con todos los datos vacíos. La información que metiste en la instancia anterior sigue dentro de dicha instancia cargada en memoria, pero no se ve en pantalla cuando muestras otra instancia nueva.

    Si quieres poder mostrar el formulario varias veces y que vaya manteniendo la información, tienes que conservar una única instancia. Eso implica que solo tienes que hacer el New una única vez, y guardar el resultado en una variable global. Después vas haciendo Show (o ShowDialog) y Hide sobre esa variable.

    viernes, 9 de octubre de 2020 8:31
  • Hola 75Solis, 

      

    ¿Alguna novedad sobre la consulta realizada? ¿Han sido útiles las  respuestas proporcionadas?  

    Espero su respuesta.  

    Gracias por usar los foros de MSDN.  

    Andres Aguilar 

    ____________________________  

     

    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 sientase en la libertad de contactar  MSDNFSF@microsoft.com. 

    viernes, 9 de octubre de 2020 15:42
    Moderador
  • Hola

    Lo que pasa es que tengo 2 From de donde llamo los datos... Uno del Producto y otro del Proveedor a la forma FrmCatdeProductos esta forma tiene varios campos entre ellos el Id del produto y el Id del proveedor.

    Cuando doy enter en idproducto llama al FrmCatdeLienas cuando le doy enter al Idproveedor me llama al catalogo de proveedores y se llenan los campos de texto respecitvamente x eso tengo Using FrmCatProd As New y  Using FrmsCat As New FrmCatalogoProd ya los separe pero (si notas) no lo hace me sigue quitando los datos cargados. y no entendi como convervar una instancia. como mencionas.. gracias x los comentarios


    • Editado 75Solis viernes, 9 de octubre de 2020 18:42
    viernes, 9 de octubre de 2020 18:39
  • esta ya quedo resusuleta gracias por la ayuda
    jueves, 15 de octubre de 2020 18:38