urgente ....

30/06/2006 - 01:45 por Ricardo | Informe spam
Hola amigo tengo un problema estoy pasando un sistema de vb6.0 a vb.net 2005 y
lo que sucede es que hay dos formulario uno que muestra la cabecera y el
detalle dentro de un datagrid (FORM1), pero lo que sucede es que el detalle
lo
ingresan por un segundo formulario y cuando lo agrega llama a un
procedimiento
publico que declaro en el primero formulario (FORM1) para refrescar el
datagrid y
muestre el item ingresado.. Como puedo hacer eso en .net ya que declare
funciones publicas pero como hago para llamarlo del segundo formulario y
refresque mi datagridview.

bueno el primer formulario (FORM1) lo llamo desde un menu:

Dim objFrm As New frmProGui

objFrm.MdiParent = Me
objFrm.Show()

en el formulario FROM1 codifique:

Public Sub CargarLista(ByVal idcodusu As String)

Dim obj As New clsGuias
dgwlista.DataSource = obj.curtmpdetgui(idcodusu).Tables("DetalleGuia")
End Sub

el formulario FORM2 lo llamo desde la grilla que esta en FORM1 al presinar
enter
de esta forma

If e.KeyCode = Keys.Return Then

Dim objItm As New frmProItmGuia
objItm.ShowDialog()
endif

y al presionar aceptar en el formulario FORM2 me gustario que se ejecute
CargarLista en FORM1 y refresque la grilla de FORM1 pero no cerrar FORM2
para que el
usuario siga ingresando sus datos pero vea todo lo que ha ingresado en la
grilla..

Me prodrian decir como codificar esto???

Gracias anticipadamente por la ayuda...

Preguntas similare

Leer las respuestas

#1 MartinR
30/06/2006 - 02:11 | Informe spam
Me encantaría ayudarte, pero no esta muy claro lo que necesitas. Por
lo que veo estas intentando comunicar datos desde un formulario a otro
del mismo nivel.
Te recuerdo por las dudas, que antes en VB 6.0 eso se podia hacer sin
ningun problema. Lo que pasa que ahora, es todo por clases, y los
formularios tambien son clases, y para llamarlos se utilizan
instancias. Y cada llamada es una nueva instancia. Distinta a la
anterior.
La pregunta que te haría es: Donde estas guardando los datos del
primer formulario? en una base de datos o en un Array?
Si es en una base de datos, no tendras problemas, a menos que estes
utilizando un DataSet, si utilizas un dataset tienes que guardar los
datos modificados en el el dataset en la base antes de hacer una nueva
consulta desde el otro formulario.
Si no utilizas ninguna base de datos. Te recomiendo que utilices un
ArrayList. Create una clase para el dato que modificas. Y una coleccion
de ese objeto o un arrayList. Y Pero desde el primer formulario guarda
el dato en el ArrayList que se tiene que encontrar la clase Manager, y
luego desde el segundo formulario llamar a una función que te devuelva
los datos guardados en el array.
Te recuerdo por las dudas, que si compartis información entre clases
formularios sin utilizar una clase Manager, estas rompiendo la
programación en 3 capas, el encapsulamiento y herencia.
Espero poder ayudarte mucho mas si me explicas un poco mas claro bien
lo que estas utilizando, y no es necesario colocar todo un código,
porque cada programador utiliza tecnicas distintas para nombras
variables por ejemplo, y es mas facil entender un seudocodigo que un
código.
Abrazos.
Martín.
Ricardo ha escrito:

Hola amigo tengo un problema estoy pasando un sistema de vb6.0 a vb.net 2005 y
lo que sucede es que hay dos formulario uno que muestra la cabecera y el
detalle dentro de un datagrid (FORM1), pero lo que sucede es que el detalle
lo
ingresan por un segundo formulario y cuando lo agrega llama a un
procedimiento
publico que declaro en el primero formulario (FORM1) para refrescar el
datagrid y
muestre el item ingresado.. Como puedo hacer eso en .net ya que declare
funciones publicas pero como hago para llamarlo del segundo formulario y
refresque mi datagridview.

bueno el primer formulario (FORM1) lo llamo desde un menu:

Dim objFrm As New frmProGui

objFrm.MdiParent = Me
objFrm.Show()

en el formulario FROM1 codifique:

Public Sub CargarLista(ByVal idcodusu As String)

Dim obj As New clsGuias
dgwlista.DataSource = obj.curtmpdetgui(idcodusu).Tables("DetalleGuia")
End Sub

el formulario FORM2 lo llamo desde la grilla que esta en FORM1 al presinar
enter
de esta forma

If e.KeyCode = Keys.Return Then

Dim objItm As New frmProItmGuia
objItm.ShowDialog()
endif

y al presionar aceptar en el formulario FORM2 me gustario que se ejecute
CargarLista en FORM1 y refresque la grilla de FORM1 pero no cerrar FORM2
para que el
usuario siga ingresando sus datos pero vea todo lo que ha ingresado en la
grilla..

Me prodrian decir como codificar esto???

Gracias anticipadamente por la ayuda...
Respuesta Responder a este mensaje
#2 Ricardo
30/06/2006 - 02:47 | Informe spam
bueno amigo la información lo guardo en una base de datos y cada vez que se
ingresa un iten al detalle este debe reflejarse en al grilla...
Me gustaria saber como debo trabajar en vb .net, ya que como tu dices es
comunicar datos de un formulario a otro del mismo nivel pero eso es en vb 6.0
y no se como plantear ese trabajo en el nuevo entorno del vb .net
Respuesta Responder a este mensaje
#3 Eduardo A. Morcillo [MS MVP VB]
30/06/2006 - 04:20 | Informe spam
Te recuerdo por las dudas, que antes en VB 6.0 eso se podia hacer sin
ningun problema. Lo que pasa que ahora, es todo por clases, y los
formularios tambien son clases



Cada vez que leo que alguien dice eso me desespero! En VB6 LOS FORMULARIOS
TAMBIEN SON CLASES y se pueden instanciar igual que cualquier otra clase
(algo que deberia hacerse pero que nadie lo hace).

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
Respuesta Responder a este mensaje
#4 Ricardo
30/06/2006 - 06:06 | Informe spam
hola amigo Eduardo A. Morcillo, como dije anteriormente no tengo todavia los
conceptos muy claros, pero me podrias decir como debo declarar el formulario
para poder trbajarlo...

Graias anticipadamente por la ayuda..
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida