Um in einem Formular die unterschiedlichen Konfigurationen der Dimensionen steuern zu können, wird üblicherweise die Methode updateDesigngenutzt.
InventDimCtrl_Frm inventDimFormSetup;
public void updateDesign(InventDimFormDesignUpdate _mode)
{
InventDimParm inventDimParmVisible;
InventDimParm inventDimParmEnabled;
switch (_mode)
{
case InventDimFormDesignUpdate::Init:
case InventDimFormDesignUpdate::LinkActive:
if (!inventDimFormSetup)
{
inventDimFormSetup = InventDimCtrl::newFromForm(element);
}
inventDimFormSetup.parmSkipOnHandLookUp(true);
inventDimParmVisible = inventDimFormSetup.parmDimParmVisibleGrid();
inventDimParmVisible.ConfigIdFlag = true;
inventDimFormSetup.parmDimParmVisibleGrid(inventDimParmVisible);
inventDimFormSetup.parmDimParmVisible(inventDimParmVisible);
// do continue
case InventDimFormDesignUpdate::Active:
inventDimFormSetup.formActiveSetup();
InventDimGroupSetup::newItemId().inventDimParmActive(inventDimParmEnabled);
inventDimFormSetup.parmDimParmEnabled(inventDimParmEnabled);
inventDimFormSetup.formSetControls(true);
break;
case InventDimFormDesignUpdate::FieldChange:
if ([Tabelle].ItemCode == TableGroupAll::Table)
{
inventDimFormSetup.formActiveSetup();
InventDimGroupSetup::newItemId().inventDimParmActive(inventDimParmEnabled);
}
else
{
inventDimParmEnabled.clear();
}
inventDimFormSetup.parmDimParmEnabled(inventDimParmEnabled);
inventDimFormSetup.formSetControls(false);
break;
default :
throw error(strfmt("@SYS54195",funcname()));
}
}