Multi select in x++
Nghia Song - Technical Consultant
public class AmicisAdaptAllRegionProductRestrictionEventHandler { [FormControlEventHandler(formControlStr(AmicisRegionProductRestriction, AmicisRegionProductRestriction_PaymentRestriction), FormControlEventType::Lookup)] public static void AmicisRegionProductRestriction_PaymentRestriction_OnLookup(FormControl sender, FormControlEventArgs e) { Query query = new Query(); QueryBuildDataSource queryBuildDataSource; SysTableLookup sysTableLookup; sysTableLookup = SysTableLookup::newParameters(tableNum(AmicisRegionProductRestriction), sender); queryBuildDataSource = query.addDataSource(tableNum(AmicisAdaptAllTagRestrictionConfiguration)); queryBuildDataSource.addSelectionField(fieldNum(AmicisAdaptAllTagRestrictionConfiguration, RetailTenderTypeId)); queryBuildDataSource.addRange(fieldNum(AmicisAdaptAllTagRestrictionConfiguration, RetailTenderTypeId)).value(SysQuery::valueNot("")); queryBuildDataSource.addSelectionField(fieldNum(AmicisAdaptAllTagRestrictionConfiguration, RetailTenderTypeName)); container selectFields = [tableNum(AmicisAdaptAllTagRestrictionConfiguration),fieldNum(AmicisAdaptAllTagRestrictionConfiguration,RetailTenderTypeId)]; AmicisAdaptAllSysLookupMultiSelectGrid multiSelectGrid = AmicisAdaptAllSysLookupMultiSelectGrid ::construct(sender ,sender); multiSelectGrid.parmQuery(query); multiSelectGrid.parmCallingControl(sender); multiSelectGrid.parmSelectField(selectFields); multiSelectGrid.pclParmSelectId(conNull()); multiSelectGrid.run(); multiSelectGrid.getSelected(); } } class AmicisAdaptAllSysLookupMultiSelectGrid extends SysLookupMultiSelectGrid { #Characters public void setSelected() { dictfield dictField; Common currentDSRecord; FormDataSource formdatasource; callingControlId.text(SysOperationHelper::convertMultiSelectedValueString(selectedId)); formdatasource = callingControlId.dataSourceObject(); if(formdatasource && callingControlStr.dataField()) { dictfield = new dictfield(formdatasource.table(),callingControlStr.dataField()); currentDSRecord = formdatasource.cursor(); currentDSRecord.(dictfield.id()) = SysOperationHelper::convertMultiSelectedValueString(selectedStr); callingControlStr.update(); } else { callingControlStr.text(SysOperationHelper::convertMultiSelectedValueString(selectedStr)); } } public static AmicisAdaptAllSysLookupMultiSelectGrid construct(FormControl _ctrlId, FormControl _ctrlStr) { AmicisAdaptAllSysLookupMultiSelectGrid lookupMS; lookupMS = new AmicisAdaptAllSysLookupMultiSelectGrid (); lookupMS.parmCallingControlId(_ctrlId); lookupMS.parmCallingControlStr(_ctrlStr); return lookupMS; } public container pclParmSelectId(container _selectedId = selectedId) { selectedId = _selectedId; return selectedId; } }
No comments:
Post a Comment