CENTRADO DE CABECERAS EN TREPORT
CENTRADO DE CABECERAS EN TREPORT
Hola amigos.
Alguien sabe como hacer para alinear las cabeceras y los totales de las columnas de un treport ?
Las cabeceras las alinea siempre segun el alineamiento de la columna correspondiente, como hago para cambiarlo y ponerlas todas centradas por ejemplo?
He probado con oHeader (ej:oRpt:oHeader:aPad[1] := RPT_CENTER etc,etc y nada funciona
Los totales de las columnas numericas salen centrados y quisiera alinearlos a la derecha !
Saludos a todos
Alguien sabe como hacer para alinear las cabeceras y los totales de las columnas de un treport ?
Las cabeceras las alinea siempre segun el alineamiento de la columna correspondiente, como hago para cambiarlo y ponerlas todas centradas por ejemplo?
He probado con oHeader (ej:oRpt:oHeader:aPad[1] := RPT_CENTER etc,etc y nada funciona
Los totales de las columnas numericas salen centrados y quisiera alinearlos a la derecha !
Saludos a todos
Re: CENTRADO DE CABECERAS EN TREPORT
Rterraz:
A ver si esto es lo que buscas:
En encabezados del reporte hay dos grupos, HEADER propiamente y TITLE, en cada uno puede
haber uno o mas renglones contenidos en arrays, entonces:
Ahora para alinear los renglones de detalle:
Finalmente para alinear los renglones de totales
Saludos
A ver si esto es lo que buscas:
En encabezados del reporte hay dos grupos, HEADER propiamente y TITLE, en cada uno puede
haber uno o mas renglones contenidos en arrays, entonces:
Code: Select all
oReporte:oHeader:aPad[1] := RPT_LEFT // aPad[1] se refiere al primer renglón de encabezados
oReporte:oTitle:aPad[2] := RPT_RIGHT // aPad[2] se refiere al segundo renglón de títulos
Code: Select all
COLUMN TITLE "Nombre" DATA ALLTRIM(oRsCli:Fields("CLI_NOM"):Value) SIZE 55 LEFT // Observa la clausula de alineación
COLUMN TITLE "RFC" DATA ALLTRIM(oRsCli:Fields("CLI_RFC"):Value) SIZE 14 LEFT
COLUMN TITLE "Número" DATA oRsCli:Fields("CLI_CLI"):Value SIZE 6 RIGHT PICTURE "@Z 99999"
Code: Select all
oReporte:SAY( 2,TRANSFORM(nTotGui,"99,999"),,RPT_RIGHT) // Observa las contantes con nombre RPT_RIGHT
oReporte:SAY( 3,"Guías",,RPT_LEFT) // RPT_LEFT y también existe RPT_CENTER
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Re: CENTRADO DE CABECERAS EN TREPORT
hola Armando, te agradezco tu respuesta
la linea de totales funciona perfecto
los header me ignoran, lo justifica siempre como justifica la data de la columna, sera porque tengo 2 lineas en cada header ?
la linea de totales funciona perfecto
los header me ignoran, lo justifica siempre como justifica la data de la columna, sera porque tengo 2 lineas en cada header ?
Re: CENTRADO DE CABECERAS EN TREPORT
RTerraz:
Va un ejemplo más completo
Saludos
Va un ejemplo más completo
Code: Select all
REPORT oReporte CAPTION "Ventas del mes por cliente" PREVIEW;
HEADER ALLTRIM((cEmpresa)->EMP_RAZ),;
aMes[nMes]+"/"+STR(nAmo,4,0),;
"Ventas del mes por cliente",;
"" CENTER;
TITLE "Fecha: "+Date2Txt(DATE(),,,,,,),;
"Hoja No:"+STR(oReporte:nPage,3);
FONT aFnt[1],aFnt[2],aFnt[3];
PEN aPen[1],aPen[2]
COLUMN TITLE "Guia" DATA (cDetHDev)->DET_NDG SIZE 6 RIGHT
COLUMN TITLE "Destino" DATA (cCiudades)->CIU_NOM SIZE 35 LEFT
COLUMN TITLE "Undd" DATA (cFacturas)->FAC_CAM SIZE 5 RIGHT
COLUMN TITLE "Operador" DATA (cFacturas)->FAC_CVE SIZE 5 LEFT
COLUMN TITLE "Importe" DATA (cDetHDev)->DET_IDG SIZE 9 RIGHT TOTAL PICTURE "99,999,999.99"
COLUMN TITLE "Seguro" DATA (cFacturas)->FAC_SEG SIZE 9 RIGHT TOTAL PICTURE "99,999,999.99"
GROUP gCliente ON (cDetHDev)->DET_CLI;
FOOTER "Totales: " + cDetCli + SPACE(5) + ALLTRIM((cClientes)->CLI_NOM) ;
+ SPACE(5) + STR(oReporte:aGroups[1]:nCounter) + " Guias" FONT 2
gCliente:bHeader := {|| "** "+(cDetHDev)->DET_CLI}
END REPORT
IF oReporte:lCreated
oReporte:cGrandTotal := "GRAN TOTAL"
oReporte:oHeader:aFont[1] := {||3}
oReporte:oHeader:aFont[2] := {||3}
oReporte:SetTxtColor(CLR_BLACK,1) // Color del texto de la hoja default NEGRO
oReporte:SetTxtColor(CLR_HRED,2) // Color de encabezado y totales del grupo
oReporte:SetTxtColor(CLR_HRED,3) // Color para el primer titulo del encabezado
oReporte:SetPenColor(CLR_HBLUE) // Color para las líneas
oReporte:SetShdColor(CLR_YELLOW) // Color para el sombreado
oReporte:oHeader:aPad[2] := RPT_RIGHT
oReporte:oTitle:aPad[1] := RPT_LEFT
oReporte:oTitle:aPad[2] := RPT_RIGHT
oReporte:nDnMargin := 300
oReporte:lPageTotal := (.F.)
oReporte:bPostEnd := { || Totales(oReporte,nTotGui)}
ENDIF
ACTIVATE REPORT oReporte FOR (cCartera)->(DBSEEK(STR((cDetHDev)->DET_NDG,6,0)));
WHILE ! (cDetHDev)->(EOF());
ON STARTPAGE (Alinea(oReporte,1,2));
ON STARTGROUP (cDetCli := (cDetHDev)->DET_CLI,oReporte:EndLine(),;
(cClientes)->(DBSEEK((cFacturas)->FAC_CLI)));
ON ENDGROUP nTotGui += oReporte:aGroups[1]:nCounter
Cierra()
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Re: CENTRADO DE CABECERAS EN TREPORT
Hola de nuevo,
Creo que me he explicado mal, lo que necesito centrar son los TITULOS de las columnas, creo que estaba usando headers en forma equivocada
Excuse me
Creo que me he explicado mal, lo que necesito centrar son los TITULOS de las columnas, creo que estaba usando headers en forma equivocada
Excuse me
- nageswaragunupudi
- Posts: 8017
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Contact:
Re: CENTRADO DE CABECERAS EN TREPORT
Column titles, data and totals use same alignment.rterraz wrote:Hola amigos.
Alguien sabe como hacer para alinear las cabeceras y los totales de las columnas de un treport ?
Las cabeceras las alinea siempre segun el alineamiento de la columna correspondiente, como hago para cambiarlo y ponerlas todas centradas por ejemplo?
He probado con oHeader (ej:oRpt:oHeader:aPad[1] := RPT_CENTER etc,etc y nada funciona
Los totales de las columnas numericas salen centrados y quisiera alinearlos a la derecha !
Saludos a todos
What you want can not be achieved except by change in TRColumn class in rcolumn.prg.
Regards
G. N. Rao.
Hyderabad, India
G. N. Rao.
Hyderabad, India
- nageswaragunupudi
- Posts: 8017
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Contact:
Re: CENTRADO DE CABECERAS EN TREPORT
Please try making these changes in
\fwh\source\classes\rcolumn.prg
Add this new data to the class declartion
Then change the last line of code in the METHOD SayTitle( .... )
Existing code in the last line:
Replace this line with this new line of code:
Include this revised rcolumn.prg in your project.
In your application, define the COLUMN like this
\fwh\source\classes\rcolumn.prg
Add this new data to the class declartion
Code: Select all
DATA nAlignTitle
Existing code in the last line:
Code: Select all
::oReport:oDevice:Say(nRow, nCol, cTitle, oFont, ::nWidth,;
::oReport:aClrText[nFont],,::nPad-1)
Code: Select all
::oReport:oDevice:Say(nRow, nCol, cTitle, oFont, ::nWidth,;
::oReport:aClrText[nFont],,IfNil( ::nAlignTitle, ::nPad ) - 1 )
In your application, define the COLUMN like this
Code: Select all
COLUMN oCol TITLE "NAME" DATA FIELD->FIRST FONT 1
oCol:nAlignTitle := RPT_CENTER
Regards
G. N. Rao.
Hyderabad, India
G. N. Rao.
Hyderabad, India
Re: CENTRADO DE CABECERAS EN TREPORT
Estimado Sr Rao
Muchas gracias por su respuesta y por su inestimable ayuda
Saludos
Muchas gracias por su respuesta y por su inestimable ayuda
Saludos