Показать сообщение отдельно
Старый 02.08.2018, 18:12   #1  
Blog bot is offline
Blog bot
Участник
 
25,497 / 847 (79) +++++++
Регистрация: 28.10.2006
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).