Page tree
Skip to end of metadata
Go to start of metadata

Create a DynSelect in a viewer

Open the Viewer in design mode. Create the necessary columns and blocks where the DynSelect should be placed.

Press the 'Add' button and find the 'SimpleSwatSelect' and drag it to the correct place.

Attributes for DynSelect in a Viewer

In this example it is a viewer on 'Adresstyp'. The field Adresstyp.Adrsubtyp_ID is available in the table, but Adresstyp.Adrsubtyp is a calculated field in the Business Entity and filled with the value of Adrsubtyp.Adrsubtyp.

Select the SimpleSwatSelect input field and set the following attributes (be aware, some attributes are case-sensitive):

AttributeValueExplanation
nameadrsubtypThe field which is initially displayed in the input field (closed DynSelect). In this case it is the calculated field
EntityNameOsiv.BusinessLogic.ipar.AdrSubtyp.AdrSubtypBE The Business Entity class of the 'child' table
EntityTableeAdrSubtypThe 'child' table to populate the DynSelect with
FieldLabelBasistypThe label to show in the viewer
LookupKeyFieldadrsubtyp

The field to be displayed after an entry is selected (normally the same as attribute 'name').

Can also be a comma-separated list of fields and constants, for example: adrsubtyp,' - ',bez

LookupKeyValueBindingadrsubtyp_id

This represents the DataSource (of the viewer) its DataField where the value from attribute 'LookupKeyValueColumn'

will be stored in, in this case the relational Adresstyp.Adrsubtyp_ID

LookupKeyValueColumnadrsubtyp_idThe key field from the Business Entity of attribute 'Entityname', in this case the relational AdrSubtyp.Adrsubtyp_ID field
TemplateGenericAutocompleteSearchTemplateDynSelectPossible other values are GenericAutocompleteSearchTemplateDynSelect_line (in-line dropdown) or GenericAutocompleteSearchTemplateDynSelect_checkbox (checkbox dropdown, useful for multiple selections)
templateOptions|adrsubtyp|bez

The format of an entry in the drop-down. The format is: image|keyfields|other-fields

The format can also contain constants, for example: ' - '

VisualizationTypeFILL-IN
WIDTH-CHARS230This is not the same as other fields. The value must be set much higher.
LookupFields
A comma separated list of fields which will be assigned after an entry is selected. Those values will be saved as well
LookupControls
The corresponding UI controls of attribute 'LookupFields'
MULTIPLE

Allows selection of multiple values.

When selecting multiple options, all of them will be saved as a separated list (see multiDelimiter) in the BE fields defined in attributes. 

multiDelimiter|Specifies the delimiter used for multiple selections. Has to match the delimiter used on the backend.
maximumSelectionLength
How many entries can be selected. Works only with attribute MULTIPLE (currently not implemented in a Viewer)
minimumInputLength
The minimum characters which must be typed before any result is displayed in the DynSelect
closeOnSelect
Leave the drop-down open or not. Nice feature with MULTIPLE attribute
tags
The value typed-in will be added to the drop-down list
initialFetch

Default expression when building the DynSelect for the first time.

Works together with method BuildAutoCompleteSearchQuery, parameter pcKey.

Override the BuildAutoCompleteSearchQuery method in the corresponding DataAccess class to modify the lookup query.

Be aware that the SourceDefaultQuery must invoke its super (i.e. super:SourceDefaultQuery(pcTable)),
otherwise BuildAutoCompleteSearchQuery will not be executed.

onBeforeFetch

Event: This is an event which is triggered every time the DynSelect is opened. This is usefull when another DynSelect

needs to use the value of another DynSelect.

validateEvent
Event: This event is triggered every time an entry is selected. This is usefull for validations
resultListMenuCode
Contains the name of a menu-structure, and will be displayed at the end of the DynSelect




Multiple selection in Form

In order to enable multiple selection in Form, the 'multiple' attribute needs to be checked to 'true'. 

The dynSelect attributes will work the same as before, but when selecting multiple options, all of them will be saved as a separated-list in the Form BE fields. The symbol/delimiter used when building the list can be specified in the 'multiDelimiter' attribute (space, comma, pipe, etc.). This delimiter needs to match the delimiter used on the backend. 

On the back-end the received list has to be processed to fetch the other fields (see 'lookupControls' attribute)  in order to be updated.


Example: 

  • LookupControls = formDesc
  • LookupFields = selfdesc
  • LookupKeyField = selfdesc
  • LookupKeyValueBinding = formKey
  • LookupKeyValueColumn = selfKey
  • multiDelimiter = |


The request payload will look something like this:

  • formDesc = desc1|desc2|desc3
  • formKey = key1|key2|key3


Create a DynSelect in as a filter in a grid

To add a DynSelect as filter in a grid, the SmartComponent Object Master Maintenance window must be used. The Akioma Web Designer does not support this functionallity.

  • Open the grid in Object Master Maintenance
  • Make sure the grid has SUBTYPE 'grid2' value
  • Remove the column for which the filter becomes a DynSelect 
  • Add a new record
    • Object Master: SimpleSwatSelect
    • Instance Name: The name of field in the grid column, in this case: AdrSubtyp
    • Save the record


Attributes for DynSelect in a Grid

Select the SimpleSwatSelect input field and set the following attributes (be aware, some attributes are case-sensitive):

Note

If the filter is based on LIST-ITEMS or LIST-ITEM-PAIRS, then the attributes EntityName, EntityTable,LookupKeyField, LookupKeyValueColumn, ObjectType, Template and TemplateOptions can be left blank.

AttributeValueExplanation
CanFiltertrueTo enable the DynSelect
CanSort
Enable to have the column sortable
closeOnSelect
Leave the drop-down open or not. Nice feature with MULTIPLE attribute
EntityNameOsiv.BusinessLogic.ipar.AdrSubtyp.AdrSubtypBEThe Business Entity class of the 'child' table
EntityTableeAdrSubtypThe 'child' table to populate the DynSelect with
filter#dynselect_filter
LABELBasistypThe label of the column
LookupKeyFieldadrsubtyp

The field to be displayed after an entry is selected (normally the same as attribute 'name').

It will show the selected enty as a 'tag/label'.

Can also be a comma-separated list of fields and constants, for example: adrsubtyp,' -- '

LookupKeyValueColumnadrsubtyp_idThe key field from the Business Entity, in this case the relational Adresstyp.Adrsubtyp_ID field
MULTIPLE

Allows selection of multiple values.

When selecting multiple options, all of them will be saved as a separated list (see multiDelimiter) in the BE fields defined in attributes. 

multiDelimiter|Specifies the delimiter used for multiple selections. Has to match the delimiter used on the backend.
multipleBehaviourstandardPossible other values are: 'cell' or 'filter+cell'. Specifies in which cases the multiple attribute will be applied
ObjectTypedynselect
TemplateGenericAutocompleteSearchTemplateDynSelectPossible other values are 'GenericAutocompleteSearchTemplateDynSelect_line' (in-line dropdown) or 'GenericAutocompleteSearchTemplateDynSelect_checkbox' (checkbox dropdown, useful for multiple selections)
TemplateOptions|adrsubtyp|bez

The format of an entry in the drop-down. The format is: image|keyfields|other-fields

The format can also contain constants, for example: ' - '


For other attributes see the chapter above with the DynSelect in a Viewer