Cambiar Color Item en Easy Report

Post Reply
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Cambiar Color Item en Easy Report

Post by leandro »

Amigos del foro buen dia.

Lo que necesito es cambiar el color de un item de acuerdo con una codicion que tengo en la base de datos. Por ejemplo si es negativo que se cambie el color a rojo y que si es Mayor de 100.000 se ponga en negrilla. Busque en el foro pero no encuentro la respuesta. Mire los ejemplos de tengo de Easy pero logro hacer que funcione el codigo que tengo es el siguiente:

Code: Select all

   DO WHILE .NOT. EOF()

      //Change item color
      oItem := VRDItem():New( NIL, oVRD, 3, 106)
      nOldCol        := oItem:nColFill
      oItem:nColFill := 1
      oItem:Set()

      PRINTAREA 3 OF oVRD ;
         ITEMIDS    { 104, 105, 106, 107 } ;
         ITEMVALUES { EXAMPLE->UNIT                               , ;
                      ALLTRIM(STR( EXAMPLE->PRICE, 10, 2 ))       , ;
                      ALLTRIM(STR( EXAMPLE->TOTALPRICE, 11, 2 ))  , ;
                      ALLTRIM( ".\EXAMPLES\" + EXAMPLE->IMAGE ) }

      //Set old item color
      oItem:nColFill := nOldCol
      oItem:Set()

      EXAMPLE->(DBSKIP())
      lLastPosition := EXAMPLE->(EOF())
      EXAMPLE->(DBSKIP(-1))

      nTotal += EXAMPLE->TOTALPRICE

      //New Page
      if lLastPosition = .T. .AND. oVRD:nNextRow > oVRD:nPageBreak - oVRD:aAreaHeight[4] .OR. ;
         lLastPosition = .F. .AND. oVRD:nNextRow > oVRD:nPageBreak

         //Print order footer
         PRINTAREA 5 OF oVRD ;
            ITEMIDS    { 101, 102 } ;
            ITEMVALUES { cCompany, ;
                         MEMOREAD( ".\examples\EasyReportExample.txt" ) }

         PAGEBREAK oVRD

         //Print position header
         PRINTAREA 2 OF oVRD

      ENDIF

      EXAMPLE->(DBSKIP())

   ENDDO

De antemano gracias
Last edited by leandro on Sun Oct 11, 2020 1:58 am, edited 2 times in total.
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Cambiar Color Item en Easy Report SOLUCIONADO

Post by leandro »

Por si algun dia alquien tiene la misma pregunta TONTA jajaja. Me faltaba definir el color en el Reporte. quedo así

Code: Select all

   oItem          := LVRDItem():New( NIL, oVRD, 1, 102 )
   nOldCol        := oItem:nColText
   oItem:nColText := 3
   oItem:Set()

  PRINTAREA 1 OF oVRD;
  ITEMIDS    {101,102,103,104,106,107,105};
  ITEMVALUES {alltrim(oLamcla:vGnom),"NIT: "+alltrim(oLamcla:vGnit),uFec,alltrim(uTim),vTRep,vTDes,Transform(Pagina,"999,999")}

   //Set old item color
   oItem:nColText := nOldCol
   oItem:Set()

 
:oops:
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Cambiar Color Item en Easy Report (SOLUCIONADO)

Post by leandro »

Buenas noches para todos
Por si algun dia alquien tiene la misma pregunta. Me faltaba definir el color en el Reporte. quedo así

Code: Select all

   oItem          := LVRDItem():New( NIL, oVRD, 1, 102 )
   nOldCol        := oItem:nColText
   oItem:nColText := 3
   oItem:Set()

  PRINTAREA 1 OF oVRD;
  ITEMIDS    {101,102,103,104,106,107,105};
  ITEMVALUES {alltrim(oLamcla:vGnom),"NIT: "+alltrim(oLamcla:vGnit),uFec,alltrim(uTim),vTRep,vTDes,Transform(Pagina,"999,999")}

   //Set old item color
   oItem:nColText := nOldCol
   oItem:Set()
 
Con las versiones anteriores de FW, este código me funcionaba. Lograba cambiar el color de un ítem en tiempo de ejecución. Con las nuevas versiones de FW, me devuelve el error, no existe método LVRDItem, estuve revisando la clase y efectivamente no existe. Intente de la siguiente manera, pero no funciona, ¿Qué me hace falta?

Code: Select all

                aIdRep := { 201 , 205 }
                aIdVal := { if(nCnAd=1,alltrim(oRsPr:Fields( "titulo" ):Value ),""),;
                             alltrim(oRsPr:Fields( "valor" ):Value);
                            }

                oVRD:AreaStart( 2 , .T. , aIdRep , aIdVal)
                oItem := oVRD:GetItem( 2, 205 )
                oItem:nColtext := 3
                oVRD:PrintArea( 2 )
 
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
Post Reply