>Hi all
>
>In my grid class I have a ProcessColumn() method to go through each column and set it's DynamicBackColor. I have managed to reach 190 characters:
>
.DYNAMICBACKCOLOR = "IIF((NOT EMPTY(RECNO('" + THIS.RECORDSOURCE + "'))) AND (THIS." ;
> + .NAME + ".ENABLED AND (NOT THIS." + .NAME ;
> + ".READONLY)), goApp.nBackColorFld, " ;
> + "IIF(goApp.nOSVersion < 5.01, goApp.nBackColorForm, THIS.BACKCOLOR))"
>
>Now I need to add one more condition for columns that contain a class which range checks numeric values entered by the user and need a different color if the range check fails.
>
>Is this the only way to keep piling in IIF() for this or can I do something better?
>
>Thanks and regards.
For complex situations I prefer methods. For long expressions you can simply use text..endtext or string concatenation.
Your case however is neither complex nor long. You misguided everybody with title I guess. Solution was much simplier:
TEXT TO .DYNAMICBACKCOLOR TEXTMERGE NOSHOW PRETEXT 15
(IIF(THIS.ENABLED AND !THIS.READONLY,
<<goApp.nBackColorFld>>,
<<IIF(goApp.nOSVersion < 5.01, goApp.nBackColorForm, THIS.BACKCOLOR)>> ))
ENDTEXT
Cetin