Yes, you can use the <on-change> XML element within the field to determine if the value is changed before the object is changed. If it is changed, you can perform an action. Here is an example from the Administration and Customization Guide.
<field name="x_option1" type="dropdown" values="getNamedListLabelValues('MyNamedList')">
<label>Married</label>
<on-change>
<set-visible name="x_str1" test="x_option1 = 'Y'"/>
</on-change>
</field>
<field name="x_str1" type="string">
<label>Name of Spouse</label>
</field>
In this example, if a person were to select the option 'Y' from a drop-down on the 'Married' field, <on-change> recognizes the update to the field, tests to see if the selection is Y, and makes the 'Name of Spouse' field visible in the user interface if the selected field meets that criteria.
Does this answer your question?
Yes, you can use the <on-change> XML element within the field to determine if the value is changed before the object is changed. If it is changed, you can perform an action. Here is an example from the Administration and Customization Guide.
<field name="x_option1" type="dropdown" values="getNamedListLabelValues('MyNamedList')">
<label>Married</label>
<on-change>
<set-visible name="x_str1" test="x_option1 = 'Y'"/>
</on-change>
</field>
<field name="x_str1" type="string">
<label>Name of Spouse</label>
</field>
In this example, if a person were to select the option 'Y' from a drop-down on the 'Married' field, <on-change> recognizes the update to the field, tests to see if the selection is Y, and makes the 'Name of Spouse' field visible in the user interface if the selected field meets that criteria.
Does this answer your question?
Unfortunately on-change is the only way I know to dynamically change fields on the screen.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.