[X++] AllowUserSetup property form controls

Today I recognized the property AllowUserSetup on a Tab control for the first time.
My case was the form WMSShipmentWizard.
But first lets take a closer look on the property itself and its values:
form property user setup

Explaining the values

No

This means the user cannot add fields to the form over right-click => customize. Also the user cannot resize grid columns and the layout. Strictly, no customizations.

Restricted

The user can make customizations of controls. They are restricted to the following properties for a control:

  • Enabled
  • Visible
  • Skip
  • Width (useful for grid columns)
  • Label

Yes

With the AllowUserSetup property set to Yes we need to differentiate here between two constellations with the AllowAdd property on form DataSourceField:

AllowAdd = No

The user is allowed to make customizations on the layout only.
Properties can be adjusted like they are needed and controls can be moved to other containers. Also own tabbed pages can be created.
Remark on moving: both containers (origin and target) must have AllowUserSetup set to Yes in order to enable moving controls!

AllowAdd = Yes

Full customization control for the user. With this property the user can mess up the design of the form completely for himself ;)

My case

In my case I wanted to enable the user to resize the grid (\Forms\WMSShipmentWizard\Designs\Design\[Tab:ctrlTab]\[TabPage:Orders]\[Grid:Grid]) in the shipment wizard. The default value of the Tab control here is No so I changed it to Restricted.

Have a nice week!