In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
pasar datos de un tarraybrowse a otro formulario
pasar datos de un tarraybrowse a otro formulario
Buenas tardes junto con saludar. Alguién me podría ayudar necesito pasar los datos que contiene un array browse en un formulario y pasar los datos a otro formulario .
o de otra forma si tengo un array browse en un formulario poder modificarlo en otro
A continuación muestro como llamo al otro formulario en donde en el arraybrowse (oBrwSelbono) es llenado luego al retornar agrego los datos en aLines para incluirlos en el arreglo oBrwBono que se encuentra en el formulario inicial.
Bueno esto no me funciona y no se como hacerlo. por favor alguien que me pueda ayudar.
De antemano muchas gracias.
METHOD BtnAgreBonClick( oSender ) CLASS TFrmPerEdi
Local aLines := {}
Local I := 1
WITH OBJECT TFrmSelBono():New( Application:oMainForm )
:cText := "Agrega Bono"
IF :ShowModal() == mrOK
While :oBrwSelBono:GetValue(1, I) != Nil
If :oBrwSelBono:GetValue(4, I) = "*"
AAdd(aLines, { :oBrwSelBono:GetValue(1, I), :oBrwSelBono:GetValue(2, I), :oBrwSelBono:GetValue(3,I)})
End If
I++
End
::oBrwBono:aArrayData := aLines
End IF
:End()
End With
RETURN Nil
o de otra forma si tengo un array browse en un formulario poder modificarlo en otro
A continuación muestro como llamo al otro formulario en donde en el arraybrowse (oBrwSelbono) es llenado luego al retornar agrego los datos en aLines para incluirlos en el arreglo oBrwBono que se encuentra en el formulario inicial.
Bueno esto no me funciona y no se como hacerlo. por favor alguien que me pueda ayudar.
De antemano muchas gracias.
METHOD BtnAgreBonClick( oSender ) CLASS TFrmPerEdi
Local aLines := {}
Local I := 1
WITH OBJECT TFrmSelBono():New( Application:oMainForm )
:cText := "Agrega Bono"
IF :ShowModal() == mrOK
While :oBrwSelBono:GetValue(1, I) != Nil
If :oBrwSelBono:GetValue(4, I) = "*"
AAdd(aLines, { :oBrwSelBono:GetValue(1, I), :oBrwSelBono:GetValue(2, I), :oBrwSelBono:GetValue(3,I)})
End If
I++
End
::oBrwBono:aArrayData := aLines
End IF
:End()
End With
RETURN Nil
Re: pasar datos de un tarraybrowse a otro formulario
Para poder acceder a otro formulario i TODOS sus controles/eventos/datas...
Local aForms := Application:aForms
If (nAscan := aScan( aForms , {|o| o:ClassName() == TFrmSelBono():ClassName() } )) > 0
//Aquí todo el código que quieras
puedes acceder a cualquier objeto... por ejemplo
aForms[nAscan]:oBrwBono:aArrayData := aLines
//
EndIf
Espero te sirva.
Un Saludo,
Xevi.
Local aForms := Application:aForms
If (nAscan := aScan( aForms , {|o| o:ClassName() == TFrmSelBono():ClassName() } )) > 0
//Aquí todo el código que quieras
puedes acceder a cualquier objeto... por ejemplo
aForms[nAscan]:oBrwBono:aArrayData := aLines
//
EndIf
Espero te sirva.
Un Saludo,
Xevi.
Un Saludo,
Xevi.
Xevi.
Re: pasar datos de un tarraybrowse a otro formulario
Muchas gracias
voy a probar y te cuenta
voy a probar y te cuenta
Re: pasar datos de un tarraybrowse a otro formulario
Por favor He estado haciendo pruebas pero no logro hacerlo funcionar, por favor me podrías ayudar.
En el siguiente código el formulario TfrmSelBono no se abre por lo tanto no puedo hacer la selección.
Me podrías indicar que estoy haciendo mal
Este método lo ejecuto desde mi primer formulario, donde en teoría se llama al segundo el cual llena oBrwSelBono cuando retorna llenaría oBrwBono.
Obviamente como el segundo formulario no se abre como indico anteriormente no se llena oBrwSelBono
METHOD BtnAgreBonClick( oSender ) CLASS TFrmPerEdi
Local aLines := {}
Local I := 1
Local nAscan
Local aForms := Application:aForms
If (nAscan := aScan( aForms , {|o| o:ClassName() == TFrmSelBono():ClassName() } )) > 0
While aForms[nAscan]:oBrwSelBono:GetValue(1,I) != Nil
If aForms[nAscan]:oBrwSelBono:GetValue(4,I) = "*"
AAdd(aLines, {aForms[nAscan]:oBrwSelBono:GetValue(1,I), ;
aForms[nAscan]:oBrwSelBono:GetValue(2,I), ;
aForms[nAscan]:oBrwSelBono:GetValue(3,I)})
End If
I++
End
::oBrwBono:aArrayData := aLines
::oBrwBono:Refresh()
EndIf
En el siguiente código el formulario TfrmSelBono no se abre por lo tanto no puedo hacer la selección.
Me podrías indicar que estoy haciendo mal
Este método lo ejecuto desde mi primer formulario, donde en teoría se llama al segundo el cual llena oBrwSelBono cuando retorna llenaría oBrwBono.
Obviamente como el segundo formulario no se abre como indico anteriormente no se llena oBrwSelBono
METHOD BtnAgreBonClick( oSender ) CLASS TFrmPerEdi
Local aLines := {}
Local I := 1
Local nAscan
Local aForms := Application:aForms
If (nAscan := aScan( aForms , {|o| o:ClassName() == TFrmSelBono():ClassName() } )) > 0
While aForms[nAscan]:oBrwSelBono:GetValue(1,I) != Nil
If aForms[nAscan]:oBrwSelBono:GetValue(4,I) = "*"
AAdd(aLines, {aForms[nAscan]:oBrwSelBono:GetValue(1,I), ;
aForms[nAscan]:oBrwSelBono:GetValue(2,I), ;
aForms[nAscan]:oBrwSelBono:GetValue(3,I)})
End If
I++
End
::oBrwBono:aArrayData := aLines
::oBrwBono:Refresh()
EndIf
Re: pasar datos de un tarraybrowse a otro formulario
English:
Hello Lilosoft,
Are you sure there is a "*" on any of the rows of the arraybrowse? Because I can't see what is wrong with your code.
Here goes a test with the same code...
Regards,
Juliano
Spanish by Google Translator:
Hola Lilosoft,
¿Estás seguro de que hay un "*" en cualquiera de las filas del arraybrowse? Porque no puedo ver lo que está mal con tu código.
Aquí va una prueba con el mismo código ...
Saludos,
Juliano
Hello Lilosoft,
Are you sure there is a "*" on any of the rows of the arraybrowse? Because I can't see what is wrong with your code.
Here goes a test with the same code...
Regards,
Juliano
Spanish by Google Translator:
Hola Lilosoft,
¿Estás seguro de que hay un "*" en cualquiera de las filas del arraybrowse? Porque no puedo ver lo que está mal con tu código.
Aquí va una prueba con el mismo código ...
Saludos,
Juliano
- Adjuntos
-
- Teste.zip
- (43.74 KiB) Descargado 131 veces
Última edición por emeasoft el Vie Ago 11, 2017 2:12 pm, editado 1 vez en total.
Re: pasar datos de un tarraybrowse a otro formulario
Muchas gracias
Ahora si funciono, seguí el ejemplo y funciono.
Nuevamente muchas gracias
Quedaría así
METHOD BtnAgreBonClick( oSender ) CLASS TFrmPerEdi
Local aLines := {}
Local I := 1
::oBrwBono:Zap()
WITH OBJECT TFrmSelBono():New()
:ShowModal()
For I := 1 To Len( :oBrwSelBono:aArrayData )
If :oBrwSelBono:aArrayData[I,4]$"*"
AAdd( aLines ,{:oBrwSelBono:aArrayData[I,1],:oBrwSelBono:aArrayData[I,2],:oBrwSelBono:aArrayData[I,3]} )
End If
Next
::oBrwBono:aArrayData := aLines
:end()
End With
RETURN Nil
Ahora si funciono, seguí el ejemplo y funciono.
Nuevamente muchas gracias
Quedaría así
METHOD BtnAgreBonClick( oSender ) CLASS TFrmPerEdi
Local aLines := {}
Local I := 1
::oBrwBono:Zap()
WITH OBJECT TFrmSelBono():New()
:ShowModal()
For I := 1 To Len( :oBrwSelBono:aArrayData )
If :oBrwSelBono:aArrayData[I,4]$"*"
AAdd( aLines ,{:oBrwSelBono:aArrayData[I,1],:oBrwSelBono:aArrayData[I,2],:oBrwSelBono:aArrayData[I,3]} )
End If
Next
::oBrwBono:aArrayData := aLines
:end()
End With
RETURN Nil
- xhermita
- Mensajes: 177
- Registrado: Vie Feb 18, 2011 10:05 pm
- Ubicación: Las Palmas de Gran Canaria
- Contactar:
Re: pasar datos de un tarraybrowse a otro formulario
Igual llego un poco tarde, pero igual te sirve esta solución algo más compacta.
Te adjunto proyecto de prueba.
Saludos
Código: Seleccionar todo
with object TForm2():New(oSender)
if :ShowModal() == mrOK
::oArrayBrowse1:Zap()
::oArrayBrowse1:aArrayData := :oArrayBrowse1:aArrayData
endif
end with
Saludos
Pedro Amaro
2PC Service
Xailer / Néfele / MySQL-MariaDB / SQLServer
2PC Service
Xailer / Néfele / MySQL-MariaDB / SQLServer
Re: pasar datos de un tarraybrowse a otro formulario
Glad to hear that everything is working now!
Regards,
Juliano
Spanish:
Me alegro de saber que todo está funcionando ahora!
Saludos,
Juliano
Regards,
Juliano
Spanish:
Me alegro de saber que todo está funcionando ahora!
Saludos,
Juliano