Ayuda sobre grid

Hola hipogea, deseo me ayudes, mira estoy desarrollando una aplicación en vfoxpro, tengo un formulario donde en un grid estoy agregando las partidas (tabla), pero cuando elimino una o más partidas (pack)con un botón de comando y hago un thsiform.grid1.refresh se queda en blanco el grid y ya no muestra nada, ¿qué puede ser?, gracias por tu ayuda

1 respuesta

Respuesta
1
Tienes que tener en cuenta que una grilla se queda en blanco, solo por tres cosas :
1. Se ha modificado la propiedad "Controlsource"
2. Se ha cerrado el cursor, vista o tabla que hace referencia esta propiedad.
3. Se ha cambiado la sesión de datos involuntariamente, con la apertura de un formulario o reporte que no tiene la sesión privada de datos.
Cualquiera de estas tres cosas ha hecho que tu grilla falle.
. Por favor enviame urgente el código de ese botón para poder analizarlo, en indicame que popriedad RECORDSOURCETYPE tiene tu grid.
Perdón amigo, mira con el código que te mande ya solucione el problema del grid, pero lo que me hace ahora es que después del refresh, no me respeta el formato del grid, es decir me cambia los anchos de las columnas y el formato de las mismas, ¿me puedes ayudar en esto?, gracias
resp = MESSAGEBOX("Desea eliminar las partidas", 4)
If resp = 6
Select partidas
Use
Use partidas
Pack
Use partidas In 2 Shared
Else
Recall all
Endif
THISFORM.GRID1.RECORDSOURCETYPE=1
Select partidas
THISFORM.GRID1.RECORDSOURCE="partidas"
THISFORM.grid1.REFRESH
***
Y la propiedad para RECORDSOUCETYPE es : 1 Alias
dejame decirte que tanto el botón eliminar, agregar partidas y el grid lo tengo en el mismo formulario y no tengo otro formulario en mi aplicación apenas tengo uno, gracias por tu ayuda..
Ya se cual es tu problema amigo, en realidad no estas usando mal los comandos de Fox, lo que pasa es que, utilizas una técnica incorrecta para administrar tus registros (Borrado, edición, agregado). Casi no se recomienda por ejemplo, estar cambiando cada vez, en tiempo de ejecución, la propiedad RECORDSOURCE de la grilla, esto modifica involuntariamente su apariencia.
Tampoco es recomendable estar abriendo la tabla cada vez que haces esto
No se recomienda usar el comando RECALL, cada vez que haces esto
Todos estos comandos alteran la apariencia de tus controles de datos y, generan resultados inesperados, pues son comandos de administración .
En vez de eso haz lo siguiente
En tiempo de diseño, coloca la propiedad a tu grilla
RECORDSOURCETYPE=1
THISFORM.GRID1.RECORDSOURCE="partidas"
En el evento INIT de tu formulario haz lo siguiente
SET DELETED OFF
USE partidas shared in 0
Ahora en los botones agregar y borrar coloca lo siguiente
Agregar
APPEND BLANK IN partidas
Thisform. Refresh
Borrar
DELETE IN partidas
IF !BOF(partidas)
SKIP-1 IN partidas
IF !EOF(partidas)
SKIP +1 IN partidas
Endif
Endif
Thisform. Refresh
No dudes en aisarme com te fue.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas