The syslookupmultiselectCtrl is defined in the dialog() and implemented in the dialogPostRun(). See code below. The multiselect works but it is not filtered by the value in the dimension name. How can the entered value in the Dimension be passed to the multi select lookup?
protected Object dialog()
{
DialogRunBase dialog = super();
//Use a lookup for the dimensionName drop-down
dlgDimensionName = dialog.addField(extendedTypeStr(Name),’@SYS70094’);
controlName = dlgDimensionName.control();
controlName.registerOverrideMethod(methodStr(FormStringControl,lookup),‘dimensionNameLookup’,this);
dimensionName = dlgDimensionName.value();
//Setup to use multiselectdfg = dialog.addGroup("");
controlBuild = dialog.formBuildDesign().control(dfg.name());
fsbcValue = controlBuild.addControl(FormControlType::String,’@SYS323267’);
return dialog;
}
The multi select is implemented in the dialogPostRun
public void dialogPostRun(DialogRunbase dialog)
{
FormRun fr;
super(dialog);
fr = dialog.dialogForm().formRun();
if (fr)
{
controlStrValue = fr.design().control(fsbcValue.id());
controlStrValue.label(’@SYS323267’);
sysmsValue = SysLookupMultiSelectCtrl::constructWithQuery(fr, controlStrValue,this.buildFinValueQuery(dlgDimensionName.value(dlgDimensionName.value())));
}