Page 1 of 1

AYUDA CON REPORT PREVIEW

Posted: Fri Feb 06, 2009 4:13 pm
by angstin
Saludos Antonio estoy tratando de hacer lo siguiente....:

Esta es la manera normal de colocar los TITLE y los HEADER....

REPORT oRpt PREVIEW;
TITLE "Titulo1", "Titulo2" HEADER "Header1", "Header2" ;
FONT oFont01 CAPTION NRP
FOR I=1 TO LEN(COL)
T:=TIT
D:=DAT
COLUMN TITLE &T;
DATA &D
NEXT
ENDREPORT

Pero yo quiero hacerlo de esta manera:

xvar := '"' + 'Titulo1' + '", "' + 'Titulo2' + '"'

REPORT oRpt PREVIEW;
TITLE &xvar HEADER "Header1", "Header2" ;
FONT oFont01 CAPTION NRP
FOR I=1 TO LEN(COL)
T:=TIT
D:=DAT
COLUMN TITLE &T;
DATA &D
NEXT
ENDREPORT

Pero solo me imprime el Titulo2, mi pregunta es que tipo de variable debo manejar para armar los titulos y los headers
desde una variable y que el TITLE me los interprete de manera correcta, el problema lo veo con la coma que debo pasar
despues de cada titulo....

Espero de sus ayudas.. Gracias....

Re: AYUDA CON REPORT PREVIEW

Posted: Fri Feb 06, 2009 5:17 pm
by RenOmaS
Experimenta asi:

Code: Select all

REPORT oRpt PREVIEW;
TITLE "" HEADER "Header1", "Header2" ;
FONT oFont01 CAPTION NRP

///---------
oRpt:oTitle:aLine := Array( 2 )
oRpt:oTitle:aLine[ 1 ] := Titulo1
oRpt:oTitle:aLine[ 2 ] := Titulo2
oRpt:oTitle::aFont   = Afill( Array( 2 ), {|| 1 } )
oRpt:oTitle::aPad    = Afill( Array( 2 ), RPT_CENTER )
oRpt:oTitle::aWidth  = Afill( Array( 2 ), 0 )
///---------

FOR I=1 TO LEN(COL)
T:=TIT[I]
D:=DAT[I]
COLUMN TITLE &T;
DATA &D
NEXT
ENDREPORT


Re: AYUDA CON REPORT PREVIEW

Posted: Fri Feb 06, 2009 5:19 pm
by Daniel Garcia-Gil
Hola angel...

cada linea del titulo es un codeblock que son agregadas por la clase rline
pienso que de la forma como lo quieres hacer no resulta porque al momento de evaluar el block en la clase rline va a retornar el ultimo valor que en este caso seria titulo2, ya que en el momento de agregarse el TITLE por medio del comendo REPORT solo estas aƱadiendo una linea o solo una posicion al array aTitle dentro del objeto REPORT

se pueden crear las lineas en un array que contenga cada posicion el codeblock respectivo por linea

prueba de esta manera

aTitulo := {}
aadd( aTitulo, {|| "Titulo1" } )
aadd( aTitulo, {|| "Titulo2" } )

REPORT oRpt PREVIEW;
HEADER "Header1", "Header2" ;
FONT oFont01 CAPTION NRP
oRpt:oTitle := TrLine():New( aTitulo, oRpt, 3 )
....

Re: AYUDA CON REPORT PREVIEW

Posted: Mon Feb 09, 2009 2:05 pm
by angstin
Listo solucionado, Gracias a RenOmaS y a Daniel...............