How to create a simple lookup
The
SysTableLookup class is provided by the standard application to allow
programmers to easily create their own lookup forms, in code.
The
basic steps to using this class are as follows:- Create the sysTableLookup object
- Create the query to select the lookup data
- Add the fields shown on the lookup
- Performs the lookup
client static void lookup<TableName>
(FormStringControl _ctrl)
{
SysTableLookup sysTableLookup =
SysTableLookup::newParameters(tableNum(<tableName>),_ctrl);
Query query =
new Query();
// create the query for the lookup
QueryBuildDataSource queryBuildDataSource =
query.addDataSource(tableNum(<tableName>));
// Add fields that will be shown in the lookup as
columns
sysTableLookup.addLookupfield(fieldNum(<tableName>,<FeildName1>));
sysTableLookup.addLookupfield(fieldNum(<tableName>,<FeildName2>));
//Add the query to the lookup form
sysTableLookup.parmQuery(query);
//
Perform the lookup
sysTableLookup.performFormLookup();
}
|
How to create a simple lookup
Reference
The
SysReferenceTableLookup class is used to construct lookup forms for reference
controls.
- Create the SysReferenceTableLookup object
- Create the query which will be used to select the lookup data
- Add the fields which will be shown on the lookup
- Perform the lookup
public static client <tableName>
lookup<tableName>(
FormReferenceControl
_formReferenceControl)
{
Query query;
SysReferenceTableLookup referenceLookup;
if (_formReferenceControl == null)
{
throw error(Error::missingParameter(null));
}
referenceLookup =
SysReferenceTableLookup::newParameters(
tableNum(<tableName>),
_formReferenceControl,
true);
// create the query for the lookup
form
query.addDataSource(tableNum(<tableName>));
// Add fields that will be shown in the lookup form as
columns
referenceLookup.addLookupfield(fieldNum(<tableName>,<FeildName1>));
referenceLookup.addLookupfield(fieldNum(<tableName>,<FeildName2>));
// Add the query to the lookup form
referenceLookup.parmQuery(query);
// Perform the lookup and return the selected
record
return
referenceLookup.performFormLookup() as <tableName>;
}
|
how to write code for multi selection for reference control
ReplyDelete