Step 1. Add buildCaption and updateCaption methods
private void updateCaption(EnumType _enumValue)
{
str caption = this.buildCaption(_enumValue);
FormRun formRun = (dialog as Dialog).formRun() as FormRun;
FormDesign design = formRun.design();
design.caption(caption);
}
private str buildCaption(EnumType _enumValue)
{
return strFmt('%1 - %2',
"@LabelId",
enum2Symbol(enumNum(EnumType), _enumValue));
}
Step 2. Override postBuild to get contract reference
public void postBuild()
{
super();
contract = this.dataContractObject() as SampleDataContract;
dfEnumField = this.bindInfo().getDialogField(contract, methodStr(SampleDataContract, parmEnumField));
dfEnumField.registerOverrideMethod(
methodStr(FormComboBoxControl, modified),
methodStr(SampleUIBuilder, enumField_OnModified),
this);
}
Step 3. Call from postRun
public void postRun()
{
super();
this.updateCaption(contract.parmEnumValue());
}