Mask Components

The definition of complex masks with many fields can be simplified creating and re-using mask components. Creating these components does not differ from creating regular mask objects. You use a component in a superordinate mask with the help of a component placeholder. The result is the extension of the superordinate mask by the fields of the mask component. Any trigger functions, menus, buttons areas, scroll bars, etc. defined for the component will be ignored. The only exception is a defined mask join; it will be appended to the mask join of the subordinate mask. All field-relevant properties, such as field triggers, field sequence, field size, etc. will be imported into the superordinate mask.

Note! In order to keep a clear working structure, you should use list components only in lists and form components only in forms.

Note! The nesting depth of mask components is limited to ten levels in order to prevent infinite loops.

How to Define and Use Mask Components:

  1. Create a mask component just as you create a regular mask with fields.

  2. Create a component placeholder in the field master with the name @MASKNAME.

    The component placeholder is a special field object. It is sufficient to create it once. You can use it whenever you want to insert a mask component.

  3. Enter the component placeholder in the mask-field relation of the superordinate mask. Enter the name of the mask component into the relation attribute field Menu and determine the position of the component in the fields Row and Column.

    The row and column position of fields now results from adding the field positions in the component itself and the position assigned here in the mask-field relation.

If you refresh a mask component in local memory, DataView will automatically update all masks in main memory which the component (also indirectly) is assigned to. Thus, superordinate objects already loaded into main memory do not have to be explicitly refreshed.