Justicar footer...TXBrowse

Justicar footer...TXBrowse

Postby ACC69 » Sat Mar 29, 2014 6:26 pm

GHola buenas tardes ,esperando que se encuentren bien les envio cordial saludos.

Estuve fuera de mi ciudad,por problemas de trabajo en la empresa y volviendo a retomar el dia de hoy,un pequeño detalle que se me presenta,en el caso de footer que no me justfica los totales o que estare haciendo mal....es en el caso de array,porque en dbfs alias, sale bien alineados los totales de footer,pero en arrays,no! expongo la imagen y codigo ...y me ayuden a resolver mi dilema....Por favor..acepto sugerencias y ejemplos.

Image
Image
http://www.subeimagenes.com/img/pantafooter-898171.html


Code: Select all  Expand view
 // Consulta Estados de cuentas a detalle \\
  REDEFINE XBROWSE oBrw2 ID 102 OF oDlg ;
           HEADERS 'Tipo','Num','Fecha','Referencia','Concepto','Cargo','Abono','Sdo Act' ;
           COLSIZES 28,30,52,80,180,85,85,85  ;
           PICTURES "@!"                     ,;
                    "@9999"                  ,;
                    "@D"                     ,;
                    "@!"                     ,;
                    "@!"                     ,;
                    "999,999,999.99"         ,;
                    "999,999,999.99"         ,;
                    "999,999,999.99"          ;
           JUSTIFY AL_RIGHT ,;    [b]// Aqui lo justifico pero no me hace el efecto....[/b]
                   AL_RIGHT ,;
                   AL_RIGHT ,;
                   AL_RIGHT ,;
                   AL_RIGHT ,;
                   AL_RIGHT ,;
                   AL_RIGHT ,;
                   AL_LEFT  ;
           ARRAY aDatos2 FOOTERS CELL AUTOCOLS

   WITH OBJECT oBrw2
         *:lFooter := .T.
         :nMarqueeStyle    :=  MARQSTYLE_HIGHLROW  //_HIGHLROWMS
         :nColDividerStyle := LINESTYLE_LIGHTGRAY
         :nRowDividerStyle := LINESTYLE_LIGHTGRAY
         :bClrSel          := {|| { nRGB(  0,  0,255), aGradBarSel } }  // para barra de linea selecc cuando el control no tiene el foco
         :bClrSelFocus     := {|| { CLR_BLACK, aGradBarSelFocus } }     // para barra de linea selecc cuando el control tiene el foco
         :lKinetic         := .f.
         :lContrastClr     := .f.  //para que no cambie color de texto automaticamente segun intensidad del fondo
         :nStretchCol      := STRETCHCOL_LAST
         :aCols[8]:nTotal= Trans( aTot[1,3],"99,999,999.99")   [b]// Aqui no me funciona ni menos me justifica o que parametro me falta por totalizar[/b]
   END

   CargaDatos(oBrw1,@aDatos1)
   MovEdoCta(oBrw1,@aDatos2,oBrw2)

 ACTIVATE DIALOG oDlg CENTERED // ON INIT Refresca(oBrw,oBrw2)



IF (S08)->( DbSeek(cCtaIni,.T.) ) .AND. (S08)->TIPONAT = 'D' // Aqui valida si es cuenta Detalle "D" en catalogo de cuentas que me busque en movimientos
IF S91->( DbSeek(cCtaIni) )
DO WHILE S91->(!EOF())
IF S91->CUENTAS > cCtaIni
EXIT
ENDIF

IF S91->SALDOS <> 0
* Esto despues lo veo, me interesa mas que visualice bien los datos
aSum[1,1] := aSum[1,1] + S91->SALCARG // Suma Cargos
aSum[1,2] := aSum[1,2] + S91->SALCRED // Suma Abonos
aSum[1,3] := aSum[1,3] + S91->SALDOS // Suma Dif de saldos
aSum[1,4] += (S91->SALCARG - S91->SALCRED)

aTot[1,1] := aTot[1,1] + S91->SALCARG // Totaliza Cargos
aTot[1,2] := aTot[1,2] + S91->SALCRED // Totaliza Abonos
aTot[1,3] := aTot[1,3] + S91->SALDOS // Totaliza Dif Sdos
aTot[1,4] += (S91->SALCARG - S91->SALCRED)

*Adel(aDatos2,1,.t.)
AADD( aDatos2, { S91->TIPO , ; //Llena datos a elementos
S91->NUMPOL , ;
S91->FHAMOV , ;
S91->REFERE , ;
S91->CONCEP , ;
S91->SALCARG , ;
S91->SALCRED , ;
S91->SALDOS } )
ENDIF

S91->(DbSkip())
ENDDO
ENDIF
ENDIF
ENDIF

oBrw2:SetArray(aDatos2)

oBrw2:Refresh()

oBrw2:aCols[8]:nTotal= Trans( aTot[1,3],"99,999,999.99") // Totaliza Dif Sdos...AQUI COMO JUSTIFICAR A LA DERECHA...y dentro la funcion
// solo asi me totaliza si le pongo desde principio no me funciona los totales ni
RETURN NIL

Esperando contar con su ayuda como siempre,les agradezco mucho.

Saludos y buen dia.

acc69cancun@gmail.com
ACC69
 
Posts: 632
Joined: Tue Dec 12, 2006 7:34 pm

Re: Justicar footer...TXBrowse

Postby cnavarro » Sat Mar 29, 2014 7:47 pm

Puedes definir la alineacion especial que requieres en cada columna ( cabeceras o pies )

Code: Select all  Expand view

 //cabeceras
 oBrw:Nombre:nHeadStrAlign      := AL_CENTER

 //pies
 oBrw:Nombre:nFootStrAlign       := 1    //AL_LEFT - AL_RIGHT - AL_CENTER   -  0 - 1 - 2
 
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Justicar footer...TXBrowse

Postby FranciscoA » Sat Mar 29, 2014 8:37 pm

Para totalizar columnas, tambien puedes probar el siguiente codigo:
Code: Select all  Expand view
WITH OBJECT oBrw1
      :bChange := {|| Cargadatos2(oBrw1,@aDatos2,oBrw2) }
   END

   WITH OBJECT oBrw2
   ....
   END

  WITH OBJECT oBrw2:aCols[8]
      :lTotal := .t.
      :nTotal := 0
      :nFooterType := AGGR_TOTAL
      :cEditPicture := "99,999,999.99"
      :nFootStrAlign := AL_RIGHT
   END

   CargaDatos1(@aDatos1,oBrw1)
   Cargadatos2(oBrw1,@aDatos2,oBrw2)

   oBrw2:MakeTotals()      //En mi version FWH tambien debe ponerse (en este caso), en la funcion cargadatos2()

 ACTIVATE DIALOG oDlg CENTERED
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2110
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Justicar footer...TXBrowse

Postby ACC69 » Sat Mar 29, 2014 10:08 pm

FranciscoA wrote:Para totalizar columnas, tambien puedes probar el siguiente codigo:
Code: Select all  Expand view
WITH OBJECT oBrw1
      :bChange := {|| Cargadatos2(oBrw1,@aDatos2,oBrw2) }
   END

   WITH OBJECT oBrw2
   ....
   END

  WITH OBJECT oBrw2:aCols[8]
      :lTotal := .t.
      :nTotal := 0
      :nFooterType := AGGR_TOTAL
      :cEditPicture := "99,999,999.99"
      :nFootStrAlign := AL_RIGHT
   END

   CargaDatos1(@aDatos1,oBrw1)
   Cargadatos2(oBrw1,@aDatos2,oBrw2)

   oBrw2:MakeTotals()      //En mi version FWH tambien debe ponerse (en este caso), en la funcion cargadatos2()

 ACTIVATE DIALOG oDlg CENTERED



Gracias Cristobla, funciono de maravilla, muy amable .

Francisco, gracias de nuevo, pero con la instruccion maketotals() no me funciona, por la version que tengo, esta funcion la busque en el foro y no me funciono!. :( pero de todas maneras gracias Francisco.

Saludos .

Atte: Adrian C. C.
ACC69
 
Posts: 632
Joined: Tue Dec 12, 2006 7:34 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 60 guests