First Set a global Variable,
public SysLookupMultiSelectCtrl multicltrl;Create Lookup method to get the value in field,
public void lookup()
{
Query query;
QueryBuildDataSource queryBuildDataSource;
QueryBuildFieldList fieldList;
super();
query = new Query();
queryBuildDataSource = query.addDataSource(tableNum(CustTable));
fieldList = queryBuildDataSource.fields();
fieldList.addField(fieldNum(CustTable,AccountNum));
fieldList.addField(fieldNum(CustTable,CustGroup));
fieldList.addField(fieldNum(CustTable,RecId));
fieldList.dynamic(QueryFieldListDynamic::No);
container selectedField = [tableNum(CustTable), fieldNum(CustTable,AccountNum)];
multicltrl = SysLookupMultiSelectCtrl::constructWithQuery(this.formRun(),this,query,false,selectedField);
}
Create Modified Method to set the value in field,
public boolean modified()
{
boolean ret;
ret = super();
TestTable.CustomField = con2Str(multicltrl.getSelectedFieldValues(), ';');
return ret;
}
Process,
Click on Form Field Lookup button,
Enjoy 👍
Using COC
[ExtensionOf(formDataFieldStr(ProjTableCreate, ProjTable, GropId))]
final class FormDataSource_Extension
{
public SysLookupMultiSelectCtrl multicltrl;
public void lookup(FormControl _formControl, str _filterStr)
{
Query query;
QueryBuildDataSource queryBuildDataSource;
QueryBuildFieldList fieldList;
FormRun localFormRun = _formControl.formRun();
next lookup(_formControl,_filterStr);
query = new Query();
queryBuildDataSource = query.addDataSource(tableNum(ProjValProjCategoryTable));
fieldList = queryBuildDataSource.fields();
fieldList.addField(fieldNum(ProjValProjCategoryTable, GroupId));
fieldList.addField(fieldNum(ProjValProjCategoryTable, Name));
fieldList.dynamic(QueryFieldListDynamic::No);
container selectedField = [tableNum(ProjValProjCategoryTable), fieldNum(ProjValProjCategoryTable, GroupId)];
multicltrl = SysLookupMultiSelectCtrl::constructWithQuery(localFormRun,_formControl,query,false,selectedField);
}
/// <summary>
///
/// </summary>
public void modified()
{
FormDataObject formDataObject = any2Object(this) as FormDataObject;
FormDataSource formDataSource = formDataObject.datasource();
ProjTable projTable;
next modified();
projTable = formDataSource.cursor();
projTable.GropId = con2Str(multicltrl.getSelectedFieldValues(), ';');
}
}
No comments:
Post a Comment