Subform Refresh (Magic xpa 2.x)
There are two ways to refresh a subform: automatically and manually.
Automatically: If the Automatic Refresh property is set to Yes, and arguments are passed to the subform, then the subform automatically refreshes when the values in the arguments change.
Manually: The Subform Refresh event lets you refresh the subform manually, for example when the Automatic Refresh property is set to No or when no task value has changed and caused the runtime engine to refresh the subform.
The Subform Control name should be sent as an argument to this event.
This event is also relevant for frames.
In Online tasks, when the subform is refreshed, the subform task is re-opened and closed, so the Task Prefix and Task Suffix of the subform task are executed.
In Rich Client tasks, the subform task is always active, so when the subform is refreshed, the Task Prefix and Task Suffix of the subform task are not executed.
When performing subform refresh and the parent task is set to a deferred transaction, then the subform refresh behaves as a Call operation with the Sync Data property set to Yes, meaning that the parent task’s Data Manipulation statements are executed.
Here is an example of the use of this event. If you have a parent task where you let the user fill in some variables that you send as arguments to the subform task. In this case, you want the subform to be refreshed only after the variables are filled in and not after each of the variables has been changed. To accomplish this, you define the subform with the Automatic Refresh property set to No, and raise the Subform Refresh event when all the arguments are filled in.
Data Refresh Events
How Do I Manually Refresh the View of the Subform?
How Do I Refresh the Subform View Only on Modifying the Last Argument When Passing Several Arguments to the Subform?
The Online and Rich Client Samples projects (program SB02 and RSB02)