Subform's Runtime Behavior (Magic xpa 3.x)
You can tab into the Subform or click the Subform window area. The runtime engine will park on the first control in the subtask. When clicking on a parkable location, the runtime engine moves focus to the subtask and parks in the selected control, which triggers the runtime engine to execute the Task Prefix, Record Prefix, and Control Prefix operations. When clicking on a non-parkable location, the runtime engine moves focus to the subform task and parks on the first parkable control.
When the runtime engine instructs the Subform task to terminate either by a Close event, by clicking outside the Subform area, or by an End Task Condition, the runtime engine executes the Control Suffix, Record Suffix, and Task Suffix operations (in Rich Client: the Task Suffix will not be executed). The focus returns to the next control in the parent task as determined by the parent task’s tabbing order and tabbing direction.
When you return to the subtask and the data view has not been refreshed, this means that the Range, Locate, Sort, Key, and the Link Join or Link Outer Join settings have not been modified. The subtask keeps the same page or record that was last displayed.
No handling is required for a subtask when the parent task is closed because the subtask automatically closes when the parent task closes.
Note:
|
In Rich Client tasks, the Task Prefix and Task Suffix are only executed once, when the parent task's Task Prefix and Task Suffix are executed.
In Rich Client tasks, the Record Prefix of a Subform control may be executed twice. For example, when the cursor is in the subform, and the view of the parent task is refreshed, then the subform will also be refreshed (hence the Record Prefix of the parent and the subform tasks will be executed) and only then will the cursor return to the subform (hence the Record Prefix of the subform will be executed again).
In Runtime, clicking on the subform area in Rich Client keeps the cursor at the current control and in Online, the focus moves to the subform task.
|
When the parent task is set to a deferred transaction and the subform task is set within an active or deferred transaction, the runtime engine calls the subform task as if the Sync Data property is set to Yes.
Calling a subform task will cause no implicit lock on the parent task record. The runtime engine calls the subform task as if the Lock property is set to No.