FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour xBrowse -> Footers Calculo de totales de esa columna??
Posts: 189
Joined: Sun Jul 08, 2007 01:46 AM
xBrowse -> Footers Calculo de totales de esa columna??
Posted: Fri Sep 28, 2007 01:12 AM

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.

Posts: 428
Joined: Thu Oct 19, 2006 12:28 PM
xBrowse -> Footers Calculo de totales de esa columna??
Posted: Fri Sep 28, 2007 06:35 AM
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

  @ 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


Saludos

Jose Luis
--------------------------

Saludos



Jose Luis
Posts: 189
Joined: Sun Jul 08, 2007 01:46 AM
xBrowse -> Footers Calculo de totales de esa columna??
Posted: Fri Sep 28, 2007 12:44 PM

Gracias Jose Luis...

Pero... lo quiero hacer con xbrowse.

Saludos

Ruben Fernandez.

Posts: 682
Joined: Tue Feb 14, 2006 09:48 AM
xBrowse -> Footers Calculo de totales de esa columna??
Posted: Fri Sep 28, 2007 01:40 PM
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.

cFooter := IF(::bStrFooter==NIL,::cFooter,Eval( ::bStrFooter ))  //Biel


El codigo para definir la columna
      oCol:=oBrw:AddCol()
      oCol:bStrData:= {|| oDbf:Campo }
      oCol:cHeader := 'Cabecera'
      oCol:bStrFooter:={||VisTot()}

Espero te sirva por lo menos como aproximacion para hacer lo que quieres.
Saludos desde Mallorca
Biel Maim贸
http://bielsys.blogspot.com/
Posts: 189
Joined: Sun Jul 08, 2007 01:46 AM
xBrowse -> Footers Calculo de totales de esa columna??
Posted: Fri Sep 28, 2007 03:12 PM

Gracias Biel...

Quedo trabajando en ello.

Saludos

Ruben Fernandez.

Posts: 383
Joined: Tue Oct 11, 2005 01:01 PM
xBrowse -> Footers Calculo de totales de esa columna??
Posted: Mon Oct 15, 2007 02:41 PM

Buenisimo, se podr谩 implementar en la clase original de FWH? asi no tenemos que modificarla en cada actualizacion.

Gracias

Pedro Gonzalez
Posts: 682
Joined: Tue Feb 14, 2006 09:48 AM
xBrowse -> Footers Calculo de totales de esa columna??
Posted: Mon Oct 15, 2007 02:51 PM

Contento de que os haya servido.
Como todos mis aportes al foro, esta a disposic贸n de Antonio para ser incluido en la clase original.

Saludos desde Mallorca
Biel Maim贸
http://bielsys.blogspot.com/
Posts: 383
Joined: Tue Oct 11, 2005 01:01 PM
xBrowse -> Footers Calculo de totales de esa columna??
Posted: Mon Oct 15, 2007 02:51 PM

El tema es que usando una ventana child, los footers quedan muy abajo y no se ven. Alguna idea de como subirlos?

Pedro Gonzalez
Posts: 383
Joined: Tue Oct 11, 2005 01:01 PM
xBrowse -> Footers Calculo de totales de esa columna??
Posted: Mon Oct 15, 2007 03:06 PM
Ejemplo en la segunda ventana que est谩 debajo:
Los footers est脿n, pero no se ven...


By pymsoft at 2007-10-15
Pedro Gonzalez
Posts: 682
Joined: Tue Feb 14, 2006 09:48 AM
xBrowse -> Footers Calculo de totales de esa columna??
Posted: Mon Oct 15, 2007 03:17 PM
Hola Pedro,
No he podido revisar el codigo fuente, me pillas que me estoy yendo de vacaciones unos dias a Barcelona. De todas formas, los footer, cuando hay valor en ellos, siempre debieran estar visibles.
Saludos desde Mallorca
Biel Maim贸
http://bielsys.blogspot.com/
Posts: 383
Joined: Tue Oct 11, 2005 01:01 PM
xBrowse -> Footers Calculo de totales de esa columna??
Posted: Mon Oct 15, 2007 03:50 PM

Gracias por tu tiempo, veo que a ti te funciona, se ve que hago algo mal.

Saludos y buenas vacaciones.

Pedro Gonzalez
Posts: 383
Joined: Tue Oct 11, 2005 01:01 PM
xBrowse -> Footers Calculo de totales de esa columna??
Posted: Mon Oct 15, 2007 04:03 PM

Bueno, ahora funciona.

lo unico que hice, fue poner uno de los footers como texto fijo

      oCol:cFooter := "Totali:"

y ahora muestra todos.

Pedro Gonzalez
Posts: 383
Joined: Tue Oct 11, 2005 01:01 PM
xBrowse -> Footers Calculo de totales de esa columna??
Posted: Thu Nov 22, 2007 01:59 PM

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.

Pedro Gonzalez
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
xBrowse -> Footers Calculo de totales de esa columna??
Posted: Thu Nov 22, 2007 08:31 PM

Biel,

> 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.

Implementado como bFooter, gracias! :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion