
Hi Experts,
I have written a COC for form data source field employee. is there any way i can avoid calling super() using _formReferenceControl ? I tried by using FormDataFieldCancelableSuperEventArgs class but it didnt work.
public Common lookupReference(FormReferenceControl _formReferenceControl)
{
next lookupReference(_formReferenceControl);
return PurchReqLine::lookupRequester(_formReferenceControl);
}
Thanks in advance
Hi Guruprasanna,
FormControlCancelableSuperEventArgs and FormDataFieldCancelableSuperEventArg can be used in Lookup event.
For example,the following codes:
[FormControlEventHandler(formControlStr(WorkOrderTable, WorkOrderLine_JobTypeCopy1), FormControlEventType::Lookup)]
public static void WorkOrderLine_JobTypeCopy1_OnLookup(FormControl sender, FormControlEventArgs e)
{
FormRun formRun = sender.formRun();
//canceling super()
FormControlCancelableSuperEventArgs cancelableArgs = e as FormControlCancelableSuperEventArgs;
cancelableArgs.CancelSuperCall();
}
CoC can't avoid the super() method in lookup/lookupReference.
Try to use registerOverrideMethod.
Refer to the codes:
Dialog dialog = new Dialog("Select user");
DialogField df = dialog.addField(extendedTypeStr(HcmWorkerRecId),"User");
df.registerOverrideMethod(methodstr(FormReferenceControl, lookupReference),
methodstr(YourClass, lookupWorker),
this);