Get control value
var docuRef_Notes = formRun.design().controlName(formControlStr(DocuView, docuRef_Notes)) as FormStringControl;
1. Form dataSource event handler: Here I will be using the vendTable form to get table buffer and perform additional business logic or validation.
Vendtable = Form name
vendTable = form data source name
[FormDataSourceEventHandler(formDataSourceStr(Vendtable, vendTable), FormDataSourceEventType::Written)]
public static void vendTable_OnWritten(FormDataSource sender, FormDataSourceEventArgs e)
{
FormRun form = sender.formRun();
FormDataSource vendTable_ds = form.dataSource(formDataSourceStr(Vendtable,Vendtable)) as FormDataSource;
Vendtable Vendtable= vendTable_ds.cursor();
<Now to got table buffer, perform business logic/validation>
}
lets see one more example below;
2. Form DataSource while closing the form (same will apply for OnInitialized,
[FormEventHandler(formStr(EcoResAttributeValue), FormEventType::Closing)]
public static void EcoResAttributeValue_OnClosing(xFormRun sender, FormEventArgs e)
{
FormDataSource ecoResProduct_ds = sender.dataSource(formDataSourceStr(EcoResAttributeValue, EcoResProductAttributeValue));
EcoResProductAttributeValue ecoResAttributeValue = ecoResProduct_ds.cursor();
<YOUR CODE>
}
3. Post-event hander of Form init or any other standard method method
[[PostHandlerFor(formStr(Ledger), formMethodStr(Ledger, init))]
public static void Ledger_Post_init(XppPrePostArgs _args)
{
#ISOCountryRegionCodes
FormRun form = _args.getThis();
FormDesign design = form.design();
FormControl revaluationAccount = design.controlName(formControlStr(Ledger, revaluationAccount));
FormControl currencyRevaluation = design.controlName(formControlStr(Ledger, currencyRevaluation));
<your code>
}
4. Form control event hander:
[FormControlEventHandler(formControlStr(LogisticsPostalAddress, Roles), FormControlEventType::Modified)]
public static void Roles_OnModified(FormControl sender, FormControlEventArgs e)
{
FormRun element = sender.formRun();
FormControl purposeCtrl = element.design().controlName(formControlStr(LogisticsPostalAddress, Roles));
FormDataSource logisticsLocation_DS = element.dataSource(formDataSourceStr(LogisticsPostalAddress, LogisticsLocation));
<business logic>
}
No comments:
Post a Comment