>Among the ways I can imagine are:
>fields' WHEN property: RETURN IIF(condexpr,.T.,.F.)
>intercepting a SAVE based upon the condexpr
>interactiveRowColChange: THIS.ReadOnly = IIF(condexpr,.T.,.F.)
>etc.
Might be the extra code you have;
WHEN code
RETURN CondExpr
Alternative
This.ReadOnly = CondExpr in the GotFocus