xBrowse -> Footers Calculo de totales de esa columna??
-
- Posts: 189
- Joined: Sun Jul 08, 2007 1:46 am
- Location: Uruguay
xBrowse -> Footers Calculo de totales de esa columna??
Amigos:
Disculpen otra vez la lata con xBrowse...
necesito saber como calculo el total de cada columna de un xBrowse
para colocarla en los footers.
Muchas gracias.
Ruben Fernandez.
Disculpen otra vez la lata con xBrowse...
necesito saber como calculo el total de cada columna de un xBrowse
para colocarla en los footers.
Muchas gracias.
Ruben Fernandez.
En este listbox, pongo los nombres de los conductores, la suma de los importes mensuales en cada columna, y en los footers, los totales por mes.
A ver si te sirve
Saludos
Jose Luis
A ver si te sirve
Code: Select all
@ 30,0 LISTBOX oLbx FIELDS (aAlias[26])->Codigo,;
(aAlias[26])->Nombre,;
transform(((aAlias[26])->CO01+(aAlias[26])->CR01),Publicas:cPic),;
transform(((aAlias[26])->CO02+(aAlias[26])->CR02),Publicas:cPic),;
transform(((aAlias[26])->CO03+(aAlias[26])->CR03),Publicas:cPic),;
transform(((aAlias[26])->CO04+(aAlias[26])->CR04),Publicas:cPic),;
transform(((aAlias[26])->CO05+(aAlias[26])->CR05),Publicas:cPic),;
transform(((aAlias[26])->CO06+(aAlias[26])->CR06),Publicas:cPic),;
transform(((aAlias[26])->CO07+(aAlias[26])->CR07),Publicas:cPic),;
transform(((aAlias[26])->CO08+(aAlias[26])->CR08),Publicas:cPic),;
transform(((aAlias[26])->CO09+(aAlias[26])->CR09),Publicas:cPic),;
transform(((aAlias[26])->CO10+(aAlias[26])->CR10),Publicas:cPic),;
transform(((aAlias[26])->CO11+(aAlias[26])->CR11),Publicas:cPic),;
transform(((aAlias[26])->CO12+(aAlias[26])->CR12),Publicas:cPic),;
transform(((aAlias[26])->Tot),Publicas:cPic);
HEADER " Código ","Nombre"," Enero "," Febrero "," Marzo "," Abril "," Mayo "," Junio "," Julio "," Agosto "," Sepbre "," Octubre "," Novbre "," Dicbre "," Total ";
FIELDSIZES 35,200,52,52,52,52,52,52,52,52,52,52,52,52,52;
ALIAS aAlias[26];
CURSOR oCurdedo;
COLOR CLR_BLACK, nRGB(226,226,208) ;
ON LEFT DBLCLICK (iif(!(aAlias[26])->(eof()) .and. Publicas:cAccesoM,(cTitulo:="Modificación de Conductores ",Enconduc(cTitulo,"M",aAlias,aoDbf),oLbx:Refresh()),.T.));
OF oDlg;
PIXEL
oLbx:nLineStyle := 1
oLbx:nClrBackHead := RGB(248,191,36)
oLbx:lDrawFooters:= .T.
oLbx:aFooters := {"", "Total por Mes.....", Trans(Publicas:tMes[1],Publicas:cPic ), Trans(Publicas:tMes[2],Publicas:cPic ), Trans(Publicas:tMes[3],Publicas:cPic ), Trans(Publicas:tMes[4],Publicas:cPic ),;
Trans(Publicas:tMes[5],Publicas:cPic ), Trans(Publicas:tMes[6],Publicas:cPic ), Trans(Publicas:tMes[7],Publicas:cPic ), Trans(Publicas:tMes[8],Publicas:cPic ), ;
Trans(Publicas:tMes[9],Publicas:cPic ), Trans(Publicas:tMes[10],Publicas:cPic ), Trans(Publicas:tMes[11],Publicas:cPic ), Trans(Publicas:tMes[12],Publicas:cPic ),Trans(Publicas:ntotal,Publicas:cPic )}
oLbx:bKeyChar := { | nKey, nFlags | ;
iif (nKey == 43 .or. nKey == 65 .or. nKey == 97,;
(Enconduc(cTitulo,"A",aAlias,aoDbf), oLbx:Refresh()), ),;
iif (nKey == 66 .or. nKey == 98,;
(Borrar(aAlias[26],(aAlias[26])->nombre,'Conductor nombre: '),oLbx:UpStable(), oLbx:Refresh()), ),;
iif (nKey == 77 .or. nKey == 109, ;
(Enconduc(cTitulo,"M",aAlias,aoDbf),oLbx:Refresh() ), ) }
oLbx:nClrPane:={||iIF((oLbx:cAlias)->(OrdKeyNo())%2==0,nRGB(242,247,252),nRGB(226,226,208))}
oLbx:nClrfBack := RGB(196,229,244)//(3,187,85)
oLbx:aJustify := {.T.,.F.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.}
oLbx:aHJustify := {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2}
OlBX:nFooterStyle:=11
Jose Luis
-
- Posts: 189
- Joined: Sun Jul 08, 2007 1:46 am
- Location: Uruguay
- Biel EA6DD
- Posts: 680
- Joined: Tue Feb 14, 2006 9:48 am
- Location: Mallorca
- Contact:
Con xBrowse, cFooter es un valor estatico, al igual que cHeader.
Yo añadi un data a la clase TXBrwColumn, el data bStrFooter, que contiene un codeblock que nos debe retornar lo que queremos visualizar en el pie de la columna.
Hay que modificar el metodo PaintFooter, y en la linea donde asigna valor a cFooter cambiarla por la siguiente.
El codigo para definir la columna
Espero te sirva por lo menos como aproximacion para hacer lo que quieres.
Yo añadi un data a la clase TXBrwColumn, el data bStrFooter, que contiene un codeblock que nos debe retornar lo que queremos visualizar en el pie de la columna.
Hay que modificar el metodo PaintFooter, y en la linea donde asigna valor a cFooter cambiarla por la siguiente.
Code: Select all
cFooter := IF(::bStrFooter==NIL,::cFooter,Eval( ::bStrFooter )) //Biel
Code: Select all
oCol:=oBrw:AddCol()
oCol:bStrData:= {|| oDbf:Campo }
oCol:cHeader := 'Cabecera'
oCol:bStrFooter:={||VisTot()}
-
- Posts: 189
- Joined: Sun Jul 08, 2007 1:46 am
- Location: Uruguay
- Biel EA6DD
- Posts: 680
- Joined: Tue Feb 14, 2006 9:48 am
- Location: Mallorca
- Contact:
Ejemplo en la segunda ventana que está debajo:
Los footers estàn, pero no se ven...
By pymsoft at 2007-10-15
Los footers estàn, pero no se ven...
By pymsoft at 2007-10-15
Pedro Gonzalez
- Biel EA6DD
- Posts: 680
- Joined: Tue Feb 14, 2006 9:48 am
- Location: Mallorca
- Contact:
Antonio,
Se podrán implementar las modificaciones hechas por Biel para xbrowse, asi no hay que modificar la clase cada vez que actualizamos?
gracias
P.D. Hice las modificaciones en la xbrowse incluida en FWH0711 para poder poner los footers, pero no me muestra el estilo 2007, por lo que supongo que lo que descargué es anterior a las librerias que me enviaste mas tarde.
Se podrán implementar las modificaciones hechas por Biel para xbrowse, asi no hay que modificar la clase cada vez que actualizamos?
gracias
P.D. Hice las modificaciones en la xbrowse incluida en FWH0711 para poder poner los footers, pero no me muestra el estilo 2007, por lo que supongo que lo que descargué es anterior a las librerias que me enviaste mas tarde.
Pedro Gonzalez
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact: