clase Treport: lineas en cada group

clase Treport: lineas en cada group

Postby Loren » Tue Apr 25, 2017 11:37 am

Compañeros, buenas:

Tengo un REPORT armado mediante la clase Treport con 2 group. Todo ok... pero me gustaría mejorar su estética quitando las líneas divisorias de cada GROUP en todas las columnas excepto las de 1 columna (concretamente la columna nº 7)

Code: Select all  Expand view

....
 if ldetalleC=.t.
  GROUP ON nombre HEADER codigo+' '+nombre FOOTER space(95)+'Pendiente por cobrar a este cliente:' font 5   && '>> Cliente: '+alltrim(saldosc->codigo)+' - '+saldosc->nombre
 endif
 if ldetalleF=.t.
  GROUP ON DOCUMENTO HEADER '' FOOTER space(108)+'Pendiente por cobrar de esta factura:'
 endif
  column title iif(ldetalleC=.f.,'Código','')  data iif(ldetalleC=.f.,codigo,'') font 1 size 6 &&grid
  column title iif(ldetalleC=.f.,'Cliente','') data iif(ldetalleC=.f.,nombre,'') font 1 size 29 &&grid
  column title 'Fecha','emisión' data dtoc(fecha)+' '+dia_fecha(fecha) font 1 size 12 &&grid
  column title 'Fecha','Vencimiento (día/mes)','  (!)=Vencidas' data fven font iif('(!)' $ FVEN,3,iif(len(alltrim(fven))>21,4,1)) size 15 &&grid
  column title 'NºFact.' data documento font 1 size 7 &&SHADOW &&grid
  column title 'A/C' data iif(acuenta=.t.,'A/C',' ') font 1 size 4 &&grid
  column title 'Importe' data importe PICTURE '@E99,999,999.99' font 1 TOTAL size 10 &&GRID
  column title 'Observaciones' data observa font 1 size 33 &&grid

  infor:SetTxtColor(CLR_HRED,3)
  infor:cGrandTotal := space(50)+"Total Informe..."
  infor:oHeader:aFont[1]:= {|| 2 }
  oReport:nGroupLine := RPT_NOLINE // no imprime las lineas separadoras en cada grupo
 



Con oReport:nGroupLine := RPT_NOLINE && elimina todas las lineas de todas las columnas.... y yo quiero conservar la línea de una columna determinada!! Concretamente la columna 7.

Gracias.
Un saludo.
LORENZO.
Loren
 
Posts: 479
Joined: Fri Feb 16, 2007 10:29 am
Location: Cadiz - España

Re: clase Treport: lineas en cada group

Postby AngelSalom » Wed Apr 26, 2017 1:13 pm

Tendrías que modificar report.prg , si te fijas en la función que realiza el pintado lo hace para todas las columnas :

Code: Select all  Expand view

        for nfor := 1 to nColumns

            ::oDevice:Say( ::nRow,;
                           ::aCols[ nFor ],;
                           Replicate("Ä", ::aColumns[ nFor ]:nWidth),;
                           ::aFont[ Eval( ::bStdFont ) ],;
                           ::aColumns[ nFor ]:nWidth )

            if nfor == 1 .and. ::aColumns[ nFor ]:lGrid
               ::oDevice:Say( ::nRow,;
                              ::aCols[ nFor ] - 1,;
                              cLeft,;
                              ::aFont[eval( ::bStdFont ) ],1 )
            endif

            if nfor == nColumns .and. ::aColumns[ nFor ]:lGrid
               ::oDevice:Say( ::nRow,;
                              ::aCols[ nFor ]+ ::aColumns[ nFor ]:nWidth,;
                              cRight,;
                              ::aFont[ Eval( ::bStdFont ) ], 1 )
            endif
         next
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 708
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 2 guests