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.

Columna Browse especial

Foro de Xailer profesional en español
Responder
jmartial
Mensajes: 397
Registrado: Vie May 20, 2005 8:53 pm

Columna Browse especial

Mensaje por jmartial »

Hola,
Me gustaría hacer un par de cosas que no sé si es posible con el Browse de
Xailer,
1) inventar una columna que sea el sumatorio de un campo, hay algún evento
del browse que se ejecute en cada registro???
2) Totalizar columnas en el pie
Un Saludo ,
Joaquín
PD: sería una pasada !!!
Rene Flores
Mensajes: 620
Registrado: Jue Mar 23, 2006 2:39 am

Columna Browse especial

Mensaje por Rene Flores »

Joaquí­n:
Estas si me las se, me estoy volviendo "una empollon" en el browse de
Xailer. Mira la imagen anexa.
> 1) inventar una columna que sea el sumatorio de un campo,
Facil, define la columna asi:
WITH OBJECT ::oDbfBrowse1

:SetDbf(ALIAS_CATALOGO,{"Cuenta","Descripcio","Tipo","Subtipo ","Naturaleza"})
:aCols[1]:cHeader := "Cuenta"
/* esta propiedad hace la magia :*/
:aCols[1]:OnGetData := {|oCol, cText, nImage| cText :=
(ALIAS_CATALOGO)->cuenta+"-"+(ALIAS_CATALOGO)->subcuenta+ "-"+(ALIAS_CATALOGO)->ssubcuenta+"-"+(ALIAS_CATALOGO)->auxiliar}
Es la primer columna del browse superior, y corresponde a la suma de los
4 primeros campos del DBF.
hay algún evento del browse que se ejecute en cada registro???
::OnChange
>
> 2) Totalizar columnas en el pie
MAs Facil todavia, el browse inferior en la imagen es un array browse,
en ese array browse, conforme vas avanzando o retrocediendo sobre él va
sumando los valores desde el princpio hasta donde esta el apuntador, y
los va refrescando en los footers del browse, lo unico que hago es
asignar al evento ::OnChange del browse una llamada a un metodo que es este:
METHOD SumaSaldos( oSender ) CLASS TForm1
LOCAL nSumaCargos := 0, nSumaAbonos := 0
WITH OBJECT oSender
AEVAL(:aArrayData,{|x| nSumaCargos += x[3], nSumaAbonos += x[4]
},1,:nArrayAt)
:aCols[3]:cFooter := TRANSFORM(nSumaCargos,"999,999,999.99")
:aCols[4]:cFooter := TRANSFORM(nSumaAbonos,"999,999,999.99")
END WITH
RETURN Nil
y Listo
Saludos
Rene Flores
http://www.ciber-tec.com
------------------------
Visita mi blog
http://www.objetopersistente.blogspot.com
--
jmartial
Mensajes: 397
Registrado: Vie May 20, 2005 8:53 pm

Columna Browse especial

Mensaje por jmartial »

Muchas gracias René,
Mañana intentaré probarlo, pero como funcione bien, es una pasada!!!!
Un Saludo,
Joaquín
"Rene Flores" <rflores.removeforspam@ciber-tec.com> escribió en el mensaje
news:[email=4243111d@ozsrv2.ozlan.local...]4243111d@ozsrv2.ozlan.local...[/email]
> Joaquín:
>
> Estas si me las se, me estoy volviendo "una empollon" en el browse de
> Xailer. Mira la imagen anexa.
>
> > 1) inventar una columna que sea el sumatorio de un campo,
>
> Facil, define la columna asi:
>
> WITH OBJECT ::oDbfBrowse1
>
>
:SetDbf(ALIAS_CATALOGO,{"Cuenta","Descripcio","Tipo","Subtipo ","Naturaleza"}
)
> :aCols[1]:cHeader := "Cuenta"
>
> /* esta propiedad hace la magia :*/
>
> :aCols[1]:OnGetData := {|oCol, cText, nImage| cText :=
>
(ALIAS_CATALOGO)->cuenta+"-"+(ALIAS_CATALOGO)->subcuenta+ "-"+(ALIAS_CATALOGO
)->ssubcuenta+"-"+(ALIAS_CATALOGO)->auxiliar}
>
> Es la primer columna del browse superior, y corresponde a la suma de los
> 4 primeros campos del DBF.
>
> hay algún evento del browse que se ejecute en cada registro???
>
> ::OnChange
> >
> > 2) Totalizar columnas en el pie
>
> MAs Facil todavia, el browse inferior en la imagen es un array browse,
> en ese array browse, conforme vas avanzando o retrocediendo sobre él va
> sumando los valores desde el princpio hasta donde esta el apuntador, y
> los va refrescando en los footers del browse, lo unico que hago es
> asignar al evento ::OnChange del browse una llamada a un metodo que es
este:
>
> METHOD SumaSaldos( oSender ) CLASS TForm1
> LOCAL nSumaCargos := 0, nSumaAbonos := 0
> WITH OBJECT oSender
> AEVAL(:aArrayData,{|x| nSumaCargos += x[3], nSumaAbonos += x[4]
> },1,:nArrayAt)
> :aCols[3]:cFooter := TRANSFORM(nSumaCargos,"999,999,999.99")
> :aCols[4]:cFooter := TRANSFORM(nSumaAbonos,"999,999,999.99")
> END WITH
> RETURN Nil
>
> y Listo
>
> Saludos
>
> Rene Flores
> http://www.ciber-tec.com
> ------------------------
> Visita mi blog
> http://www.objetopersistente.blogspot.com
>
------------------------------------------------------------ ----------------
----
jmartial
Mensajes: 397
Registrado: Vie May 20, 2005 8:53 pm

Columna Browse especial

Mensaje por jmartial »

René No Funciona,
Una Columna sumatorio de un campo me refiero, a que tienes una columna que
es un importe y la que yo creo es su suma arrastrada, por ejemplo:
columna 1 : 100,250,300
col virtual : 100,350,650
Y la segunda pregunta, poner total en un footer, me refería a un Browse de
un dataset no a un ArrayBrowse, es totalmente diferente.
Gracias de todas formas,
Joaquín
"Joaquín Martínez" <jmartial@interbook.net> escribió en el mensaje
news:[email=424356ad@ozsrv2.ozlan.local...]424356ad@ozsrv2.ozlan.local...[/email]
> Muchas gracias René,
>
> Mañana intentaré probarlo, pero como funcione bien, es una pasada!!!!
>
> Un Saludo,
> Joaquín
>
> "Rene Flores" <rflores.removeforspam@ciber-tec.com> escribió en el mensaje
> news:[email=4243111d@ozsrv2.ozlan.local...]4243111d@ozsrv2.ozlan.local...[/email]
> > Joaquín:
> >
> > Estas si me las se, me estoy volviendo "una empollon" en el browse de
> > Xailer. Mira la imagen anexa.
> >
> > > 1) inventar una columna que sea el sumatorio de un campo,
> >
> > Facil, define la columna asi:
> >
> > WITH OBJECT ::oDbfBrowse1
> >
> >
>
:SetDbf(ALIAS_CATALOGO,{"Cuenta","Descripcio","Tipo","Subtipo ","Naturaleza"}
> )
> > :aCols[1]:cHeader := "Cuenta"
> >
> > /* esta propiedad hace la magia :*/
> >
> > :aCols[1]:OnGetData := {|oCol, cText, nImage| cText :=
> >
>
(ALIAS_CATALOGO)->cuenta+"-"+(ALIAS_CATALOGO)->subcuenta+ "-"+(ALIAS_CATALOGO
> )->ssubcuenta+"-"+(ALIAS_CATALOGO)->auxiliar}
> >
> > Es la primer columna del browse superior, y corresponde a la suma de los
> > 4 primeros campos del DBF.
> >
> > hay algún evento del browse que se ejecute en cada registro???
> >
> > ::OnChange
> > >
> > > 2) Totalizar columnas en el pie
> >
> > MAs Facil todavia, el browse inferior en la imagen es un array browse,
> > en ese array browse, conforme vas avanzando o retrocediendo sobre él va
> > sumando los valores desde el princpio hasta donde esta el apuntador, y
> > los va refrescando en los footers del browse, lo unico que hago es
> > asignar al evento ::OnChange del browse una llamada a un metodo que es
> este:
> >
> > METHOD SumaSaldos( oSender ) CLASS TForm1
> > LOCAL nSumaCargos := 0, nSumaAbonos := 0
> > WITH OBJECT oSender
> > AEVAL(:aArrayData,{|x| nSumaCargos += x[3], nSumaAbonos += x[4]
> > },1,:nArrayAt)
> > :aCols[3]:cFooter := TRANSFORM(nSumaCargos,"999,999,999.99")
> > :aCols[4]:cFooter := TRANSFORM(nSumaAbonos,"999,999,999.99")
> > END WITH
> > RETURN Nil
> >
> > y Listo
> >
> > Saludos
> >
> > Rene Flores
> > http://www.ciber-tec.com
> > ------------------------
> > Visita mi blog
> > http://www.objetopersistente.blogspot.com
> >
>
>
> ------------------------------------------------------------ --------------
--
> ----
>
>
>
>
>
Rene Flores
Mensajes: 620
Registrado: Jue Mar 23, 2006 2:39 am

Columna Browse especial

Mensaje por Rene Flores »

Joaquí­n:
> Una Columna sumatorio de un campo me refiero, a que tienes una columna que
> es un importe y la que yo creo es su suma arrastrada, por ejemplo:
> columna 1 : 100,250,300
> col virtual : 100,350,650
>
Vale vale vale, ya lo pillo, pense que querias hacer la suma horizontal.
humm. de momento no se me ocurre nada.
> Y la segunda pregunta, poner total en un footer, me referí­a a un Browse de
> un dataset no a un ArrayBrowse, es totalmente diferente.
Si si, de momento no esoty usando DataSets, voy manejando las tablas "a
pelo", y me funciona la tecnica anteiror tanto para dbfbrowse y arraybrows.
Saludos
Rene Flores
http://www.ciber-tec.com
>
> Gracias de todas formas,
> Joaquí­n
>
>
> "Joaquí­n Martí­nez" <jmartial@interbook.net> escribió en el mensaje
> news:[email=424356ad@ozsrv2.ozlan.local...]424356ad@ozsrv2.ozlan.local...[/email]
>
>>Muchas gracias René,
>>
>>Mañana intentaré probarlo, pero como funcione bien, es una pasada!!!!
>>
>>Un Saludo,
>>Joaquí­n
>>
>>"Rene Flores" <rflores.removeforspam@ciber-tec.com> escribió en el mensaje
>>news:[email=4243111d@ozsrv2.ozlan.local...]4243111d@ozsrv2.ozlan.local...[/email]
>>
>>>Joaquí­n:
>>>
>>>Estas si me las se, me estoy volviendo "una empollon" en el browse de
>>>Xailer. Mira la imagen anexa.
>>>
>>>
>>>>1) inventar una columna que sea el sumatorio de un campo,
>>>
>>>Facil, define la columna asi:
>>>
>>>WITH OBJECT ::oDbfBrowse1
>>>
>>>
>>
> :SetDbf(ALIAS_CATALOGO,{"Cuenta","Descripcio","Tipo","Subtipo ","Naturaleza"}
>
>>)
>>
>>>:aCols[1]:cHeader := "Cuenta"
>>>
>>>/* esta propiedad hace la magia :*/
>>>
>>>:aCols[1]:OnGetData := {|oCol, cText, nImage| cText :=
>>>
>>
> (ALIAS_CATALOGO)->cuenta+"-"+(ALIAS_CATALOGO)->subcuenta+ "-"+(ALIAS_CATALOGO
>
>>)->ssubcuenta+"-"+(ALIAS_CATALOGO)->auxiliar}
>>
>>>Es la primer columna del browse superior, y corresponde a la suma de los
>>>4 primeros campos del DBF.
>>>
>>> hay algún evento del browse que se ejecute en cada registro???
>>>
>>>::OnChange
>>>
>>>>2) Totalizar columnas en el pie
>>>
>>>MAs Facil todavia, el browse inferior en la imagen es un array browse,
>>>en ese array browse, conforme vas avanzando o retrocediendo sobre él va
>>>sumando los valores desde el princpio hasta donde esta el apuntador, y
>>>los va refrescando en los footers del browse, lo unico que hago es
>>>asignar al evento ::OnChange del browse una llamada a un metodo que es
>>
>>este:
>>
>>>METHOD SumaSaldos( oSender ) CLASS TForm1
>>> LOCAL nSumaCargos := 0, nSumaAbonos := 0
>>> WITH OBJECT oSender
>>> AEVAL(:aArrayData,{|x| nSumaCargos += x[3], nSumaAbonos += x[4]
>>>},1,:nArrayAt)
>>> :aCols[3]:cFooter := TRANSFORM(nSumaCargos,"999,999,999.99")
>>> :aCols[4]:cFooter := TRANSFORM(nSumaAbonos,"999,999,999.99")
>>> END WITH
>>>RETURN Nil
>>>
>>>y Listo
>>>
>>>Saludos
>>>
>>>Rene Flores
>>>http://www.ciber-tec.com
>>>------------------------
>>>Visita mi blog
>>>http://www.objetopersistente.blogspot.com
>>>
>>
>>
>> ------------------------------------------------------------ --------------
>
> --
>
>>----
>>
>>
>>
>>
>>
>
>
>
Responder