Hi guys, Today we see how to create multi select lookup on form level in Dynamics Ax using X++.
It will work for both 2012 and D365FO.
Unbound field :
Here we are adding Dynamic query to lookup.
Set Auto Declaration property "Yes" to control field(VendAccountNum).
Write below code on Class declaration on form level:
public class FormRun extends ObjectRun
{
SysLookupMultiSelectCtrl msCtrl;
}
Way 1 : adding fields from one table only :
Write Below code in Form init method:
public void init()
{
Query query = new Query();
QueryBuildDataSource qbds;
super();
qbds= query.adddatasource(tablenum(VendTable));
qbds.fields().addField(fieldNum(VendTable,AccountNum));
qbds.fields().addField(fieldNum(VendTable,VendGroup));
msCtrl = SysLookupMultiSelectCtrl::constructWithQuery(element, VendAccountNum , query);//dynamic Query
msCtrl = SysLookupMultiSelectCtrl::construct(element, VendAccountNum , querystr(query));//static query
}
You can check your from it show the multiselection in lookup.
For testing purpose try below code
void clicked()
{
container con;
int i;
con=msCtrl.getSelectedFieldValues();
//con=msCtrl.get();//RecId values we get
for (i=1; i<=conLen(con); i++)
{
Info(strfmt('%1',conPeek(con,i));
}
}
No comments:
Post a Comment