FoxPro/Visual FoxPro - Seleccionar una fila en un grid y luego mandarla a un formaulario solo esa fila

   
Vista:

Seleccionar una fila en un grid y luego mandarla a un formaulario solo esa fila

Publicado por jairo andres jairotitan@hotmail.com (2 intervenciones) el 02/05/2015 23:42:44
muy buenas deseo saber como seleccionar una fila en una grid y luego los datos de esa fila poderlos mandar a un formulario gracias de antemano

select*from egreso into cursor pro

sql statement

eso tengo en la grid

agradezco cualquier ayuda
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

Seleccionar una fila en un grid y luego mandarla a un formaulario solo esa fila

Publicado por Fidel José (558 intervenciones) el 03/05/2015 17:22:37
Lo que tienes que tener en cuenta es que un control grid no es más que un browse algo sofisticado montado sobre un cursor. Por lo tanto, la fila que tienes en edición, corresponde al registro del cursor del cual puedes tomar uno o más campos.
Las formas pueden ser varias:
1) Si no utilizas sesión privada de datos, cargas el formulario y lees directamente el registro del cursor. Si usas sesion privada de datos, ni siquiera lo intentes.

2) Ceas un array con SCATTER TO laArrayDatos y pasas el array como parámetro al otro form (acá debes recordar el orden de los campos para saber qué elemento del array tiene tal valor.

3) Pudes utilizar SCATTER NAME Thisform ADDITIVE y pasas como parámetro al otro form la referencia de objeto.
Por ejemplo, si tenemos una tabla de clientes que tiene los campos "idclien", "nombre" , "cuit" y el el otro form se llama "frmsecundario"
* Botón de selección
SELECT (thisform.grid1.Recordsource)
SCATTER NAME thisform ADDITIVE
DO FORM frmSEcundario WITH thisform

* frmSecundario.Init
LPARAMETERS toForm
WITH THIS
.TxtIdclien.Value = toForm.Idclien
.txtnombre.value=toForm.nombre
.txtCuit.Value = toForm.cuit
ENDWITH

4) Hay formas más sofisticadas utilizando xml. Importante para Sesión privada de datos.
Por ejemplo
* Al seleccionar el registro
CURSORTOXML("CLIENTES","clientes.xml",3,512,1)

DO FORM frmSecundario with "CLIENTES.XML"
*frmSecundario.Init
LPARAMETERS tc_xmlFile_Name
XMLTOCURSOR(tc_xmlFile_Name,"curClien",512)
SELECT curclien
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

Seleccionar una fila en un grid y luego mandarla a un formaulario solo esa fila

Publicado por jairo andres jairotitan@hotmail.com (2 intervenciones) el 04/05/2015 14:15:34
Mcuhas gracias amigo = eso aplica para lo que es un Reporte?
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