Custom label on SysTableLookup column
Good evening,
This shows how to put a custom label on a SysTableLookup:
public static void lookupSalesId(FormStringControl _ctrl)
{
SysTableLookup sysTableLookup =
SysTableLookup::newParameters(tablenum(SalesTable), _ctrl);
Query query = new Query();
;
{
SysTableLookup sysTableLookup =
SysTableLookup::newParameters(tablenum(SalesTable), _ctrl);
Query query = new Query();
;
query.addDataSource(tablenum(SalesTable));
//'true' is used to specify which field we are returning from the lookup.
//By default the first field added is returned, so here 'true' is superfluous.
sysTableLookup.addLookupfield(fieldnum(SalesTable, SalesId), true);
//Use this setLabel() call right after the adding the field you need to customize
sysTableLookup.setLabel("My custom SalesId label" );
sysTableLookup.setLabel("My custom SalesId label" );
sysTableLookup.addLookupfield(fieldnum(SalesTable, SalesName));
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();
}
sysTableLookup.performFormLookup();
}
Normally, you would define this static lookupSalesId() method on the table SalesTable, since it is closely related. Then you could call this method from a form by overriding the lookup() method of a Form's Data Source field as such (logically, a field of the same type as the one you're looking up):
public void lookup(FormControl _formControl, str _filterStr)
{
{
;
SalesTable::lookupSalesId(formControl);
}
}