02.08.2018, 18:12
|
#1
|
Участник
|
d365technext: Override Lookup AX7 & D365FO
Источник: http://d365technext.blogspot.com/201...x7-d365fo.html
==============
Override Lookup AX7 & D365FO
Here is the small example to override lookup ..
copy the lookup event handler of the field and paste the event into any class
///
///
///
/// receiving value in parameter
/// receiving value in parameter
[FormControlEventHandler(formControlStr(PayrollEmployerTaxRegion, Overview_StateId), FormControlEventType::Lookup)]
publicstaticvoid Overview_StateId_OnLookup(FormControl sender, FormControlEventArgs e)
{
/// write your lookup code here
if control or field already have lookup to we need to cancel parent lookup execution otherwise we will get exception.
below code you can use to cancel parent lookup ---
FormControlCancelableSuperEventArgs ce = e asFormControlCancelableSuperEventArgs;
//cancel super() to prevent error.
ce.CancelSuperCall();
}
Here is the complete code sample
///
///
///
/// receiving value in parameter
/// receiving value in parameter
[FormControlEventHandler(formControlStr(PayrollEmployerTaxRegion, Overview_StateId), FormControlEventType::Lookup)]
publicstaticvoid Overview_StateId_OnLookup(FormControl sender, FormControlEventArgs e)
{
SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(LogisticsAddressState), sender);
Query query = newQuery();
// Filter lookup to only show US states
query.addDataSource(tableNum(LogisticsAddressState)).addRange(fieldNum(LogisticsAddressState, CountryRegionId)).value(LogisticsAddressCountryRegion::findByISOCode(SysCountryRegionCode::countryInfo(curext())).CountryRegionId);
// Sort the lookup by state Id
query.dataSourceTable(tableNum(LogisticsAddressState)).addOrderByField(fieldNum(LogisticsAddressState, StateId), SortOrder::Ascending);
// Add fields
sysTableLookup.addLookupfield(fieldNum(LogisticsAddressState, StateId));
sysTableLookup.addLookupfield(fieldNum(LogisticsAddressState, Name));
// Run lookup
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();
FormControlCancelableSuperEventArgs ce = e asFormControlCancelableSuperEventArgs;
//cancel super() to prevent error.
ce.CancelSuperCall();
}
Источник: http://d365technext.blogspot.com/201...x7-d365fo.html
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
|
|
За это сообщение автора поблагодарили: IvanS (1). |