Ejecutar procedimientos de otro form

14/09/2004 - 23:48 por Gabriel | Informe spam
Hola. El problema es el siguiente, tengo un form con un
datagrid que se llena con datos de una base de sql server
a través de un dataset (como siempre). Luego este llama a
otro formulario que puede llegar a modificar datos de la
tabla origen de dataset. Lo que quiero lograr es poder
ejecutar al cierre de el segundo formulario un llamado a
un procedimiento del primer formulario que refresque los
datos del dataset y el datagrid. O que el primer
formulario genere un evento cuando se cierra el
formulario llamado. muchas gracias

Preguntas similare

Leer las respuestas

#1 Ivan Mostacero
14/09/2004 - 23:54 | Informe spam
Hola,
para eso puedes usar javascript, podrias llamar de la ventana emergente en
caso estes usando window.open, algun metodo javascript de la ventana padre y
en ese metodo tu haces un reload de la pagina, asi se recargarian los nuevos
datos.
para eso tienes que usar el metodo window.opener que es el que te especifica
la ventana padre de donde ha sido la llamada actual, de ese modo podrias
invocar el metodo que haga el reload a tu formulario.

Saludos
Ivan Mostacero
MCSD .NET, Perú
http://www.timpsoft.tk/
"Gabriel" wrote in message
news:23e501c49aa4$a2d0bf40$
Hola. El problema es el siguiente, tengo un form con un
datagrid que se llena con datos de una base de sql server
a través de un dataset (como siempre). Luego este llama a
otro formulario que puede llegar a modificar datos de la
tabla origen de dataset. Lo que quiero lograr es poder
ejecutar al cierre de el segundo formulario un llamado a
un procedimiento del primer formulario que refresque los
datos del dataset y el datagrid. O que el primer
formulario genere un evento cuando se cierra el
formulario llamado. muchas gracias
Respuesta Responder a este mensaje
#2 Codigo47
15/09/2004 - 06:13 | Informe spam
Me parece que hablas de Windows Forms, no de web forms.
Si es asi, te puedo nombrar 2 soluciones:

La 1ra es en la llamada al formulario que modifica los datos hacerla con el
metodo "ShowDialog", y abajo pones la llamada al procedimiento que actualiza
o refresca el data grid, por ejemplo:

Dim F as New FormQueModifica()

F.ShowDialog()

ActualizarDataGrid()

La otra opcion es llamar, desde el formulario que modifica los datos, al
procedimiento en el form donde esta el data grid. Lo primero que hay que
hacer es crear una Instancia Public para todo el proyecto del form donde
esta el data grid (esto hace usando el patron Singleton):

Shared mInstancia As New frmPrincipal()

Public Shared Property Instancia() As frmPrincipal
Get
If mInstancia Is Nothing OrElse mInstancia.IsDisposed Then
mInstancia = New frmPrincipal()
End If

Return mInstancia
End Get
Set(ByVal Value As frmPrincipal)
mInstancia = Value
End Set
End Property

Donde "frmPrincipal" es el nombre del form donde esta el data grid !.
Ademas tenes que agregar en el Evento Load del formulario esta instruccion:

mInstancia = Me

Aca le decis que la instancia public va a ser la del formulario actual.

Ahora desde el formulario que modifica los datos, antes de cerrarlo llamas
al procedimiento del otro form de esta manera:

frmPrincipal.Instancia.ActualizarDataGrid()

No olvides que la declaracion del procedimiento "ActualizarDataGrid" tiene
que ser "Public"

Se entendio ?, si no, mandame un mail que te mando un ejemplo.

saludos.

Codigo47
Analista en Sistemas
Argentina, Buenos Aires

"Gabriel" escribió en el mensaje
news:23e501c49aa4$a2d0bf40$
Hola. El problema es el siguiente, tengo un form con un
datagrid que se llena con datos de una base de sql server
a través de un dataset (como siempre). Luego este llama a
otro formulario que puede llegar a modificar datos de la
tabla origen de dataset. Lo que quiero lograr es poder
ejecutar al cierre de el segundo formulario un llamado a
un procedimiento del primer formulario que refresque los
datos del dataset y el datagrid. O que el primer
formulario genere un evento cuando se cierra el
formulario llamado. muchas gracias
Respuesta Responder a este mensaje
#3 gabriel
16/09/2004 - 19:37 | Informe spam
Muchas gracias!

Efectivamente estaba hablando de Windows Forms, disculpa
que no lo aclaré. En este momento me han asignado
temporalmente a trabajar en otro proyecto asi que el
problema quedara pendiente por unos días, pero cuando
retome aplicaré tu solución. Muchas gracias otra vez.

Me parece que hablas de Windows Forms, no de web forms.
Si es asi, te puedo nombrar 2 soluciones:

La 1ra es en la llamada al formulario que modifica los


datos hacerla con el
metodo "ShowDialog", y abajo pones la llamada al


procedimiento que actualiza
o refresca el data grid, por ejemplo:

Dim F as New FormQueModifica()

F.ShowDialog()

ActualizarDataGrid()

La otra opcion es llamar, desde el formulario que


modifica los datos, al
procedimiento en el form donde esta el data grid. Lo


primero que hay que
hacer es crear una Instancia Public para todo el


proyecto del form donde
esta el data grid (esto hace usando el patron Singleton):

Shared mInstancia As New frmPrincipal()

Public Shared Property Instancia() As frmPrincipal
Get
If mInstancia Is Nothing OrElse


mInstancia.IsDisposed Then
mInstancia = New frmPrincipal()
End If

Return mInstancia
End Get
Set(ByVal Value As frmPrincipal)
mInstancia = Value
End Set
End Property

Donde "frmPrincipal" es el nombre del form donde esta el


data grid !.
Ademas tenes que agregar en el Evento Load del


formulario esta instruccion:

mInstancia = Me

Aca le decis que la instancia public va a ser la del


formulario actual.

Ahora desde el formulario que modifica los datos, antes


de cerrarlo llamas
al procedimiento del otro form de esta manera:

frmPrincipal.Instancia.ActualizarDataGrid()

No olvides que la declaracion del


procedimiento "ActualizarDataGrid" tiene
que ser "Public"

Se entendio ?, si no, mandame un mail que te mando un


ejemplo.

saludos.

Codigo47
Analista en Sistemas
Argentina, Buenos Aires

"Gabriel" escribió en el mensaje
news:23e501c49aa4$a2d0bf40$
Hola. El problema es el siguiente, tengo un form con un
datagrid que se llena con datos de una base de sql server
a través de un dataset (como siempre). Luego este llama a
otro formulario que puede llegar a modificar datos de la
tabla origen de dataset. Lo que quiero lograr es poder
ejecutar al cierre de el segundo formulario un llamado a
un procedimiento del primer formulario que refresque los
datos del dataset y el datagrid. O que el primer
formulario genere un evento cuando se cierra el
formulario llamado. muchas gracias


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida