Usuario
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.

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 UsingEnd 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 Suby 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 SubGracias por su ayuda.
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.
-
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.
-
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
-