Page 1 of 1

DYNAMICBACKCOLOR does work different in BROWSE / GRTD

Posted: Mon May 23, 2022 12:56 am
by AUGE_OHR
hi,

i do use DYNAMICBACKCOLOR with BROWSE or GRID

Code: Select all

   bBlockFG := { | e | IF( DELETED(), SP_nColor8(), SP_nColor2() ) }
   bBlockBG := { | e | IF( DELETED(), SP_nColor13(), SP_nColor1() ) }
   FOR ii := 1 TO LEN( aHeader )
      AADD( aDynamicForeColor, bBlockFG )
      AADD( aDynamicBackColor, bBlockBG )
   NEXT

Code: Select all

#IFDEF USE_BROWSE
      DEFINE BROWSE BROWSE_TV
         ROW 04
         COL 04
         WIDTH 400
         HEIGHT 470
         WIDTHS aWidths
         HEADERS aHeader
         WORKAREA &cWorkArea
         FIELDS aFields
         FONTNAME "Arial"
         FONTSIZE 14
         TOOLTIP ""
         LOCK IF( lEdit = .T., .T., .F. )
         VSCROLLBAR .T.
         BACKCOLOR { 1, 1, 1 }
         FONTCOLOR CYAN
         NOLINES .F.
         ONCHANGE DoSyncDBF()
         ONDBLCLICK { || PlayAll( aAspect, cWorkArea ) }
         DYNAMICBACKCOLOR aDynamicBackColor
         DYNAMICFORECOLOR aDynamicForeColor
      END BROWSE
#ELSE
      DEFINE GRID BROWSE_TV
         ROW 004
         COL 004
         WIDTH 400
         HEIGHT 470
         VALUE 1
         WIDTHS aWidths
         HEADERS aHeader
         ROWSOURCE( ALIAS() )
         COLUMNFIELDS aFields
         FONTNAME "Arial"
         FONTSIZE 14
         TOOLTIP ""
         ONCHANGE DoSyncDBF()
         ONDBLCLICK { || PlayAll( aAspect, cWorkArea ) }
         LOCK IF( lEdit = .T., .T., .F. )
         VSCROLLBAR .T.
         BACKCOLOR { 1, 1, 1 }
         FONTCOLOR CYAN
         DYNAMICBACKCOLOR aDynamicBackColor
         DYNAMICFORECOLOR aDynamicForeColor
         NOLINES .T.
      END GRID
#ENDIF
when use BROWSE it does Show all Deleted() Records "all Time" with wanted Back-Color
when use GRID it will "paint" Back-Color after move to next Row so i do not see it "all Time" ... hm :o

i do "Sync" GRID with DBF in "ONCHANGE" Event ( for BROWSE i have SET BROWSESYNC ON )

Code: Select all

STATIC PROCEDURE DoSyncDBF()
LOCAL nRec := 0
   IF USED()
      #IFDEF USE_BROWSE
         nRec := GetProperty( "IPTVALL", "BROWSE_TV", "Value" )
      #ELSE
         nRec := GetProperty( "IPTVALL", "BROWSE_TV", "RecNo" )
      #ENDIF
      GOTO( nRec )
   ENDIF
RETURN
so what i´m doing wrong ... need Idea :idea:

Re: DYNAMICBACKCOLOR does work different in BROWSE / GRTD

Posted: Mon May 23, 2022 6:56 am
by SALINETAS24
Hola Jimmy.
En su día se comento la diferencia de funcionamiento y aporté esta solución que estoy seguro que podrás mejorar... ;)
Saludos.