Advance LookUp in D365fo x++
Advance LookUp in D365fo x++
internal final class ClsSysUserManagement_SalesTypes_EventHandlers
{
static SysLookupMultiSelectCtrl refLookupCtrl;
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
[FormControlEventHandler(formControlStr(SysUserManagement, CblSalesTypesSecurity_SalesTypesSelect), FormControlEventType::Lookup)]
public static void CblSalesTypesSecurity_SalesTypesSelect_OnLookup(FormControl sender, FormControlEventArgs e)
{
FormRun _formRun = sender.formRun();
FormDataSource UserInfo_ds = sender.formRun().dataSource("UserInfo");
UserInfo userInfo = UserInfo_ds.cursor();
Query query = new Query();
QueryBuildDataSource qbdsSalesType,dsView;
qbdsSalesType = query.addDataSource(tableNum(bfpSalesType));
qbdsSalesType.fields().dynamic(false);
qbdsSalesType.fields().clearFieldList();
qbdsSalesType.addSelectionField(fieldNum(bfpSalesType, SalesTypeId));;
qbdsSalesType.addSelectionField(fieldNum(bfpSalesType, Name));
qbdsSalesType.addSelectionField(fieldNum(bfpSalesType, IsGarment));
dsView =qbdsSalesType.addDataSource(tableNum(CblSalesTypesSecurity));
dsView.relations(false);
dsView.joinMode(JoinMode::NoExistsJoin);
dsView.addLink(fieldNum(CblSalesTypesSecurity, SalesTypes),fieldNum(bfpSalesType, SalesTypeId));
dsView.addRange(fieldNum(CblSalesTypesSecurity, UserRef)).value(any2Str(userInfo.RecId));
dsView.fields().dynamic(false);
dsView.fields().clearFieldList();
refLookupCtrl = SysLookupMultiSelectCtrl::constructWithQuery(_formRun,sender,query);
refLookupCtrl.refreshQuery(query);
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
[FormControlEventHandler(formControlStr(SysUserManagement, CblSalesTypesSecurity_SalesTypesSelect), FormControlEventType::Modified)]
public static void CblSalesTypesSecurity_SalesTypesSelect_OnModified(FormControl sender, FormControlEventArgs e)
{
FormRun _formRun = sender.formRun();
Query query = new Query();
bfpSalesType SalesTypeTbl;
CblSalesTypesSecurity SalesTypesSecurity;
container selectedrecords;
FormStringControl SalesTypesSelect = sender.formRun().design().controlName(formControlStr(SysUserManagement, CblSalesTypesSecurity_SalesTypesSelect));
FormDataSource CblSalesTypesSecurity_ds = sender.formRun().dataSource(formDataSourceStr(SysUserManagement, CblSalesTypesSecurity));
FormDataSource UserInfo_ds = sender.formRun().dataSource("UserInfo");
UserInfo userInfo = UserInfo_ds.cursor();
SalesTypesSelect.text("");
Counter i;
selectedrecords = refLookupCtrl.getSelectedFieldValues();
for(i=1;i<= conLen(selectedrecords);i++)
{
while select
SalesTypeTbl
where SalesTypeTbl.SalesTypeId == conPeek(selectedrecords,i)
{
SalesTypesSecurity.SalesTypes = SalesTypeTbl.SalesTypeId;
SalesTypesSecurity.UserRef = userInfo.RecId;
SalesTypesSecurity.insert();
}
}
selectedrecords = conNull();
//refLookupCtrl = SysLookupMultiSelectCtrl::constructWithQuery(_formRun,sender,query);
refLookupCtrl.set(selectedrecords);
CblSalesTypesSecurity_ds.reread();
CblSalesTypesSecurity_ds.refreshEx();
CblSalesTypesSecurity_ds.executeQuery();
CblSalesTypesSecurity_ds.refresh();
}
}
Comments
Post a Comment