Actualizar DataGrid

26/08/2006 - 19:22 por Miguel | Informe spam
Hola Compañeros.
Tengo un problema, tengo un Form donde tengo un dataGrid que muestro los
proveedores que tengo dados de alta. en el mismo form tengo un boton que
llamo a un form para agregar proveedores. Cuando agrego al proveedor doy
guardar y se cierra el form, pero el dataGrid no se actualiza con la
informacion nueva. Como se hace eso?
lo que hice fue
F.DgProvee.DataSource = Nothing

F.MidataSet.Clear()

F.Rellenado(clave.Text) <--Esta funcion la hago para rellenar el
datagrid en el padre. tambien la uso en el padre

F.DgProvee.DataSource = F.MidataSet

F.DgProvee.SetDataBinding(F.MidataSet, "proveedores")

donde F es el formulario padre, esto lo puse en el form de Agregar.. Con
esto no hace nada

saludos
Nacho

Preguntas similare

Leer las respuestas

#1 Jorge Serrano [MVP VB]
28/08/2006 - 16:45 | Informe spam
Si utilizar SQL Server 2005 y ADO.NET 2.0, puedes utilizar una de las
características nuevas de este entorno para que te actualice la información
directamente.

Sino, deberás encapsular un método para que capture los datos de la base de
datos y que cargue el DataGrid.

Así, desde el formulario principal, deberás llamar a ese método, y cuando
cierres el segundo formulario, tan sólo deberás nuevamente a ese método.

Espero haberme explicado correctamente.

Un saludo.

Jorge Serrano Pérez
Microsoft MVP VB.NET
PortalVB.com
http://www.portalvb.com/
Blog de Jorge Serrano
http://geeks.ms/blogs/jorge/default.aspx


"Miguel" wrote:

Hola Compañeros.
Tengo un problema, tengo un Form donde tengo un dataGrid que muestro los
proveedores que tengo dados de alta. en el mismo form tengo un boton que
llamo a un form para agregar proveedores. Cuando agrego al proveedor doy
guardar y se cierra el form, pero el dataGrid no se actualiza con la
informacion nueva. Como se hace eso?
lo que hice fue
F.DgProvee.DataSource = Nothing

F.MidataSet.Clear()

F.Rellenado(clave.Text) <--Esta funcion la hago para rellenar el
datagrid en el padre. tambien la uso en el padre

F.DgProvee.DataSource = F.MidataSet

F.DgProvee.SetDataBinding(F.MidataSet, "proveedores")

donde F es el formulario padre, esto lo puse en el form de Agregar.. Con
esto no hace nada

saludos
Nacho



Respuesta Responder a este mensaje
#2 Miguel
28/08/2006 - 17:00 | Informe spam
Gracias Jorge por la contestacion
Yo utilizo MySQL con ODBC entonces el caso que me comentas pues no lo puedo
aplicar, en el segundo caso que me sugieres me comentas que cree un metodo
en el que hago el Fill para llenar otra ves el dataSet, en el codigo abajo
viene un F.Rellenado en el lleno otra ves el datagrid, espero y me haya
explicado

saludos
Miguel
Dim F As New Provee

F.DgProvee.DataSource = Nothing

F.MidataSet.Clear()

F.Rellenado(clave.Text) <--

F.DgProvee.DataSource = F.MidataSet

F.DgProvee.SetDataBinding(F.MidataSet, "proveedores")

'''''''

rellenado

.

MyDataAdapter.SelectCommand = Mycommand

MyDataAdapter.Fill(MidataSet, "proveedores")

.

"Jorge Serrano [MVP VB]"
escribió
en el mensaje news:
Si utilizar SQL Server 2005 y ADO.NET 2.0, puedes utilizar una de las
características nuevas de este entorno para que te actualice la
información
directamente.

Sino, deberás encapsular un método para que capture los datos de la base
de
datos y que cargue el DataGrid.

Así, desde el formulario principal, deberás llamar a ese método, y cuando
cierres el segundo formulario, tan sólo deberás nuevamente a ese método.

Espero haberme explicado correctamente.

Un saludo.

Jorge Serrano Pérez
Microsoft MVP VB.NET
PortalVB.com
http://www.portalvb.com/
Blog de Jorge Serrano
http://geeks.ms/blogs/jorge/default.aspx


"Miguel" wrote:

Hola Compañeros.
Tengo un problema, tengo un Form donde tengo un dataGrid que muestro los
proveedores que tengo dados de alta. en el mismo form tengo un boton que
llamo a un form para agregar proveedores. Cuando agrego al proveedor doy
guardar y se cierra el form, pero el dataGrid no se actualiza con la
informacion nueva. Como se hace eso?
lo que hice fue
F.DgProvee.DataSource = Nothing

F.MidataSet.Clear()

F.Rellenado(clave.Text) <--Esta funcion la hago para rellenar el
datagrid en el padre. tambien la uso en el padre

F.DgProvee.DataSource = F.MidataSet

F.DgProvee.SetDataBinding(F.MidataSet, "proveedores")

donde F es el formulario padre, esto lo puse en el form de Agregar.. Con
esto no hace nada

saludos
Nacho



Respuesta Responder a este mensaje
#3 Jorge Serrano [MVP VB]
28/08/2006 - 21:51 | Informe spam
Lo que te comento explicado de otra manera, sería hacer un método en el
formulario 1 (Form1) que se encargue de rellenar el DataGrid.

Al llamar al Form2, rellenas los datos. Si este formulario es modal, al
cerrarse, podría ejecutar en Form1 el método de relleno del DataGrid
nuevamente.

Así, al volver del Form2, rellenaría los datos del DataGrid.

Ahora bien, si quieres hacerlo mejor, lo ideal es que haya una comunicación
entre Form1 y Form2, para que cuando se cierre el Form2, le diga si realmente
se han insertado, borrado o modificado datos, ya que sino, no tiene sentido
recargar el DataGrid y llamar a ese método por lo tanto.

Esa es mi idea... espero que no haya dudas... sino, aquí estamos. ;-)

Jorge Serrano Pérez
Microsoft MVP VB.NET
PortalVB.com
http://www.portalvb.com/
Blog de Jorge Serrano
http://geeks.ms/blogs/jorge/default.aspx


"Miguel" wrote:

Gracias Jorge por la contestacion
Yo utilizo MySQL con ODBC entonces el caso que me comentas pues no lo puedo
aplicar, en el segundo caso que me sugieres me comentas que cree un metodo
en el que hago el Fill para llenar otra ves el dataSet, en el codigo abajo
viene un F.Rellenado en el lleno otra ves el datagrid, espero y me haya
explicado

saludos
Miguel
Dim F As New Provee

F.DgProvee.DataSource = Nothing

F.MidataSet.Clear()

F.Rellenado(clave.Text) <--

F.DgProvee.DataSource = F.MidataSet

F.DgProvee.SetDataBinding(F.MidataSet, "proveedores")

'''''''

rellenado

..

MyDataAdapter.SelectCommand = Mycommand

MyDataAdapter.Fill(MidataSet, "proveedores")

..

"Jorge Serrano [MVP VB]"
escribió
en el mensaje news:
> Si utilizar SQL Server 2005 y ADO.NET 2.0, puedes utilizar una de las
> características nuevas de este entorno para que te actualice la
> información
> directamente.
>
> Sino, deberás encapsular un método para que capture los datos de la base
> de
> datos y que cargue el DataGrid.
>
> Así, desde el formulario principal, deberás llamar a ese método, y cuando
> cierres el segundo formulario, tan sólo deberás nuevamente a ese método.
>
> Espero haberme explicado correctamente.
>
> Un saludo.
>
> Jorge Serrano Pérez
> Microsoft MVP VB.NET
> PortalVB.com
> http://www.portalvb.com/
> Blog de Jorge Serrano
> http://geeks.ms/blogs/jorge/default.aspx
>
>
> "Miguel" wrote:
>
>> Hola Compañeros.
>> Tengo un problema, tengo un Form donde tengo un dataGrid que muestro los
>> proveedores que tengo dados de alta. en el mismo form tengo un boton que
>> llamo a un form para agregar proveedores. Cuando agrego al proveedor doy
>> guardar y se cierra el form, pero el dataGrid no se actualiza con la
>> informacion nueva. Como se hace eso?
>> lo que hice fue
>> F.DgProvee.DataSource = Nothing
>>
>> F.MidataSet.Clear()
>>
>> F.Rellenado(clave.Text) <--Esta funcion la hago para rellenar el
>> datagrid en el padre. tambien la uso en el padre
>>
>> F.DgProvee.DataSource = F.MidataSet
>>
>> F.DgProvee.SetDataBinding(F.MidataSet, "proveedores")
>>
>> donde F es el formulario padre, esto lo puse en el form de Agregar.. Con
>> esto no hace nada
>>
>> saludos
>> Nacho
>>
>>
>>



Respuesta Responder a este mensaje
#4 Miguel
28/08/2006 - 23:55 | Informe spam
Hola Jorge, gracias por tu sugerencia..Se lee muy bonito, pero no tendras un
ejemplo por ahi, no soy muy experto como que digamos.. De hecho el metodo
rellenado hace eso, vuelve a llenar otra ves la informacion del DataGrid

saludos
Miguel
"Jorge Serrano [MVP VB]"
escribió
en el mensaje news:
Lo que te comento explicado de otra manera, sería hacer un método en el
formulario 1 (Form1) que se encargue de rellenar el DataGrid.

Al llamar al Form2, rellenas los datos. Si este formulario es modal, al
cerrarse, podría ejecutar en Form1 el método de relleno del DataGrid
nuevamente.

Así, al volver del Form2, rellenaría los datos del DataGrid.

Ahora bien, si quieres hacerlo mejor, lo ideal es que haya una
comunicación
entre Form1 y Form2, para que cuando se cierre el Form2, le diga si
realmente
se han insertado, borrado o modificado datos, ya que sino, no tiene
sentido
recargar el DataGrid y llamar a ese método por lo tanto.

Esa es mi idea... espero que no haya dudas... sino, aquí estamos. ;-)

Jorge Serrano Pérez
Microsoft MVP VB.NET
PortalVB.com
http://www.portalvb.com/
Blog de Jorge Serrano
http://geeks.ms/blogs/jorge/default.aspx


"Miguel" wrote:

Gracias Jorge por la contestacion
Yo utilizo MySQL con ODBC entonces el caso que me comentas pues no lo
puedo
aplicar, en el segundo caso que me sugieres me comentas que cree un
metodo
en el que hago el Fill para llenar otra ves el dataSet, en el codigo
abajo
viene un F.Rellenado en el lleno otra ves el datagrid, espero y me haya
explicado

saludos
Miguel
Dim F As New Provee

F.DgProvee.DataSource = Nothing

F.MidataSet.Clear()

F.Rellenado(clave.Text) <--

F.DgProvee.DataSource = F.MidataSet

F.DgProvee.SetDataBinding(F.MidataSet, "proveedores")

'''''''

rellenado

..

MyDataAdapter.SelectCommand = Mycommand

MyDataAdapter.Fill(MidataSet, "proveedores")

..

"Jorge Serrano [MVP VB]"

escribió
en el mensaje news:
> Si utilizar SQL Server 2005 y ADO.NET 2.0, puedes utilizar una de las
> características nuevas de este entorno para que te actualice la
> información
> directamente.
>
> Sino, deberás encapsular un método para que capture los datos de la
> base
> de
> datos y que cargue el DataGrid.
>
> Así, desde el formulario principal, deberás llamar a ese método, y
> cuando
> cierres el segundo formulario, tan sólo deberás nuevamente a ese
> método.
>
> Espero haberme explicado correctamente.
>
> Un saludo.
>
> Jorge Serrano Pérez
> Microsoft MVP VB.NET
> PortalVB.com
> http://www.portalvb.com/
> Blog de Jorge Serrano
> http://geeks.ms/blogs/jorge/default.aspx
>
>
> "Miguel" wrote:
>
>> Hola Compañeros.
>> Tengo un problema, tengo un Form donde tengo un dataGrid que muestro
>> los
>> proveedores que tengo dados de alta. en el mismo form tengo un boton
>> que
>> llamo a un form para agregar proveedores. Cuando agrego al proveedor
>> doy
>> guardar y se cierra el form, pero el dataGrid no se actualiza con la
>> informacion nueva. Como se hace eso?
>> lo que hice fue
>> F.DgProvee.DataSource = Nothing
>>
>> F.MidataSet.Clear()
>>
>> F.Rellenado(clave.Text) <--Esta funcion la hago para rellenar el
>> datagrid en el padre. tambien la uso en el padre
>>
>> F.DgProvee.DataSource = F.MidataSet
>>
>> F.DgProvee.SetDataBinding(F.MidataSet, "proveedores")
>>
>> donde F es el formulario padre, esto lo puse en el form de Agregar..
>> Con
>> esto no hace nada
>>
>> saludos
>> Nacho
>>
>>
>>



Respuesta Responder a este mensaje
#5 Jorge Serrano [MVP VB]
29/08/2006 - 10:07 | Informe spam
Hola Miguel.

Un ejemplo de lo que te comento utilizando VB 2005 sería el siguiente:


Imports System.Data.SqlClient

Public Class Form1

Private Sub CargarDatos()
Dim datos As New DataSet
' Aquí se trata la conexión, la sentencia SQL y se recogen los datos
al DataSet
DataGridView1.DataSource = datos.Tables(0)
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
Dim MiF As New Form2
MiF.ShowDialog()
CargarDatos()
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
CargarDatos()
End Sub

End Class


Espero que esto te ayude.

Un saludo.

Jorge Serrano Pérez
Microsoft MVP VB.NET
PortalVB.com
http://www.portalvb.com/
Blog de Jorge Serrano
http://geeks.ms/blogs/jorge/default.aspx


"Miguel" wrote:

Hola Jorge, gracias por tu sugerencia..Se lee muy bonito, pero no tendras un
ejemplo por ahi, no soy muy experto como que digamos.. De hecho el metodo
rellenado hace eso, vuelve a llenar otra ves la informacion del DataGrid

saludos
Miguel
"Jorge Serrano [MVP VB]"
escribió
en el mensaje news:
> Lo que te comento explicado de otra manera, sería hacer un método en el
> formulario 1 (Form1) que se encargue de rellenar el DataGrid.
>
> Al llamar al Form2, rellenas los datos. Si este formulario es modal, al
> cerrarse, podría ejecutar en Form1 el método de relleno del DataGrid
> nuevamente.
>
> Así, al volver del Form2, rellenaría los datos del DataGrid.
>
> Ahora bien, si quieres hacerlo mejor, lo ideal es que haya una
> comunicación
> entre Form1 y Form2, para que cuando se cierre el Form2, le diga si
> realmente
> se han insertado, borrado o modificado datos, ya que sino, no tiene
> sentido
> recargar el DataGrid y llamar a ese método por lo tanto.
>
> Esa es mi idea... espero que no haya dudas... sino, aquí estamos. ;-)
>
> Jorge Serrano Pérez
> Microsoft MVP VB.NET
> PortalVB.com
> http://www.portalvb.com/
> Blog de Jorge Serrano
> http://geeks.ms/blogs/jorge/default.aspx
>
>
> "Miguel" wrote:
>
>> Gracias Jorge por la contestacion
>> Yo utilizo MySQL con ODBC entonces el caso que me comentas pues no lo
>> puedo
>> aplicar, en el segundo caso que me sugieres me comentas que cree un
>> metodo
>> en el que hago el Fill para llenar otra ves el dataSet, en el codigo
>> abajo
>> viene un F.Rellenado en el lleno otra ves el datagrid, espero y me haya
>> explicado
>>
>> saludos
>> Miguel
>> Dim F As New Provee
>>
>> F.DgProvee.DataSource = Nothing
>>
>> F.MidataSet.Clear()
>>
>> F.Rellenado(clave.Text) <--
>>
>> F.DgProvee.DataSource = F.MidataSet
>>
>> F.DgProvee.SetDataBinding(F.MidataSet, "proveedores")
>>
>> '''''''
>>
>> rellenado
>>
>> ..
>>
>> MyDataAdapter.SelectCommand = Mycommand
>>
>> MyDataAdapter.Fill(MidataSet, "proveedores")
>>
>> ..
>>
>> "Jorge Serrano [MVP VB]"
>>
>> escribió
>> en el mensaje news:
>> > Si utilizar SQL Server 2005 y ADO.NET 2.0, puedes utilizar una de las
>> > características nuevas de este entorno para que te actualice la
>> > información
>> > directamente.
>> >
>> > Sino, deberás encapsular un método para que capture los datos de la
>> > base
>> > de
>> > datos y que cargue el DataGrid.
>> >
>> > Así, desde el formulario principal, deberás llamar a ese método, y
>> > cuando
>> > cierres el segundo formulario, tan sólo deberás nuevamente a ese
>> > método.
>> >
>> > Espero haberme explicado correctamente.
>> >
>> > Un saludo.
>> >
>> > Jorge Serrano Pérez
>> > Microsoft MVP VB.NET
>> > PortalVB.com
>> > http://www.portalvb.com/
>> > Blog de Jorge Serrano
>> > http://geeks.ms/blogs/jorge/default.aspx
>> >
>> >
>> > "Miguel" wrote:
>> >
>> >> Hola Compañeros.
>> >> Tengo un problema, tengo un Form donde tengo un dataGrid que muestro
>> >> los
>> >> proveedores que tengo dados de alta. en el mismo form tengo un boton
>> >> que
>> >> llamo a un form para agregar proveedores. Cuando agrego al proveedor
>> >> doy
>> >> guardar y se cierra el form, pero el dataGrid no se actualiza con la
>> >> informacion nueva. Como se hace eso?
>> >> lo que hice fue
>> >> F.DgProvee.DataSource = Nothing
>> >>
>> >> F.MidataSet.Clear()
>> >>
>> >> F.Rellenado(clave.Text) <--Esta funcion la hago para rellenar el
>> >> datagrid en el padre. tambien la uso en el padre
>> >>
>> >> F.DgProvee.DataSource = F.MidataSet
>> >>
>> >> F.DgProvee.SetDataBinding(F.MidataSet, "proveedores")
>> >>
>> >> donde F es el formulario padre, esto lo puse en el form de Agregar..
>> >> Con
>> >> esto no hace nada
>> >>
>> >> saludos
>> >> Nacho
>> >>
>> >>
>> >>
>>
>>
>>



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida