Cambiar Color Item en Easy Report

Cambiar Color Item en Easy Report

Postby leandro » Thu May 12, 2011 7:53 pm

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  Expand view

   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 AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1669
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Cambiar Color Item en Easy Report SOLUCIONADO

Postby leandro » Thu May 12, 2011 8:33 pm

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

Code: Select all  Expand view

   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 AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1669
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Cambiar Color Item en Easy Report (SOLUCIONADO)

Postby leandro » Sun Oct 11, 2020 1:58 am

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  Expand view

   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  Expand view

                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 AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1669
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 39 guests