我正在使用AF / Frame在SAS 9.3中开发。我正在使用_tabOut事件来验证文本框中的数据。如果验证失败,我想显示一条消息并将光标放在同一文本框中。 _cursor方法似乎导致_tabOut事件触发两次,从而再次显示消息框。以下是我正在做的简化示例:
tabOut: method;
DCL LIST InvDNAConc = {"DNA Concentration is invalid."};
SELECT(_self_.name);
WHEN('txtDNAConc')
IF TRIM(_self_.TEXT) = '' OR TRIM(_self_.TEXT) = '.' THEN DO;
reply=MESSAGEBOX(InvDNAConc,'!','O','NOTE');
reply=reply;
_self_._cursor();
END;
OTHERWISE;
END;
endmethod;
select语句中包含其他对象。为简单起见,我把它剥掉了。
如果删除_cursor方法,则消息框仅显示一次。 任何帮助将不胜感激。