FoxPro/Visual FoxPro - Ayuda!!! Actualizar un Grid (una vez más =)

 
Vista:

Ayuda!!! Actualizar un Grid (una vez más =)

Publicado por Andrea (325 intervenciones) el 06/08/2008 05:19:23
Hola a todos

Tengo un problema al actualizar un grid.

Tengo una tabla donde debo mostrar en un GRID aquellos registros que cumplan determinada condición (por ejemplo los movimientos de este mes)
A su vez esta tabla está relacionada a otra

Para que sea exacto he armado un SELECT de SQL (INTO CURSOR Temp) para "filtrar" aquellos registros que sirven y volcarlos a un cursor

EL PROBLEMA QUE TENGO ES QUE AL AGREGAR UN NUEVO REGISTRO A LA TABLA BASE NO SE REFLEJA EN EL GRID

SI SALGO Y ENTRO DEL FORMULARIO EL GRID SE VE PERFECTO (CON LA ACTUALIZACION REALIZADA)

¿Cómo hago esta actualización? (Algo que sea similar al REQUERY de los combobox)
-----------------------------------------------------------------------------------------------------------------------

He probado haciendo un refresh al grid pero no pasa nada.

Muchas gracias =)
-
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 4
Ha aumentado su posición en 2 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

RE:Ayuda!!! Actualizar un Grid (una vez más =)

Publicado por kong (682 intervenciones) el 06/08/2008 06:23:36
prueba asi
luego de agregar el registro en otro lado,
thisform.grid1.recordsource=""
thisform.grid1.recordsource="elcursor" && el cursor ya debe tener el registro nuevo
thisform.grid1.refresh
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Lo probé... pero =(

Publicado por Andrea (325 intervenciones) el 06/08/2008 14:05:20
Hola
Hice esa prueba pero sigue igual. Es muy buena idea, pero evidentemente hay algo que no funciona.

Si cierro el formulario y vuelvo a entrar los movimientos están registrados, es decir que verdaderamente se están grabando pero NO se muestran al agregarlos a la tabla

Un detalle: este grid está en un PAGEFRAME
Les paso el código de la parte donde se actualiza

*------------- ACTUALIZA DATOS -------------------
INSERT INTO tabla (campo1, campo2, campo3 ) VALUES (valor1, valor2, valor3)
*------------ Actualizo las tablas
=tableupdate(.t.,.t.,"TABLA")

*-------------- Actualizo el GRID
thisform.pageframe1.page4.grid1.recordsource=""
thisform.pageframe1.page4.grid1.recordsource="Mi_Cursor"
thisform.pageframe1.page4.grid1.refresh

*-------------------------------------
Previamente Defino el cursor (en el Iniit del Grid)
______________________________________
SELECT campo1, campo2, campo_tabla_relacionada FROM tabla LEFT OUTER JOIN tabla_relacionada ON campo1=campo_relacionado ORDER BY campo1 INTO CUROR mi_cursor
this.recordsource="vtatmp"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Lo probé... pero =(

Publicado por enrique (1041 intervenciones) el 06/08/2008 18:17:12
El tema es que antes de actualizar el Grid tenes que hacer el SELECT nuevamente ya que si no, no te vuelve a tomar los datos que necesitas.

Te recomindo algo
1- Crea un metodo (por ej: SELECCION) y pone ahi el codigo que tenes en el Init del grid

2- en el Init del Grid pone Thisform.Seleccion

3- cuando actualizas el Grid
Thisform.Seleccion
thisform.pageframe1.page4.grid1.recordsource=""
thisform.pageframe1.page4.grid1.recordsource="vtatmp"
thisform.pageframe1.page4.grid1.refresh

Enrique
Buenos Aires
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta

Publicado por Andrea (325 intervenciones) el 06/08/2008 18:28:54
Ahora lo pruebo... Pero esto no se volverá lento con muchos registros???

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Funciona pero... ME CAMBIA TODO EL GRID

Publicado por Andrea (325 intervenciones) el 06/08/2008 18:37:02
Hice la propuesta de Enrique y funciona =)

Pero al actulizar el grid me cambia el FONT del grid, el ancho de las columnas y en una columna donde tengo un checkbox me lo reemplaza por F o T

¿POR QUÉ PUEDE SER ESO??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Funciona pero... ME CAMBIA TODO EL GRID

Publicado por sergio (737 intervenciones) el 06/08/2008 18:59:00
Crea el Grid Dinamicamente desde el programa, no lo setes desde el objeto grid
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar