In the dynamics ax 2012, there are different ways to fill the combo box/drop down list
This above method of lookup was heavily used in AX 2009, and it also used in the AX 2012 when there isn’t any data source specified in the form (i.e. Dialog Form) and the StringEdit control used for the lookup
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>; } |
No comments:
Post a Comment