Shows a list of records from another form, and stores a reference to the chosen record.
Note: This datatype was called a Formlink in previous versions of the software
This can be used in preference to a drop down list or a radio button array when the choice is large or likely to change.
See a worked example of using the Record Link field
Advanced features
Hide if completed with page parameters
Page parameters allow context information to be passed from one page to another as a user moves around the site.
If a users reaches the data entry form by clicking on a link that includes relevant page parameters, the Record Link field will be pre-filled in for the user.
If the user is likely to want to change the value, the field should be shown, however if the appearance of the field is going to confuse, by effectively asking the user to confirm a choice they made on a previous page, then it is better to check this option to hide the field.
Example 1: A user is first on a page displaying records of Form B, and then clicks on a link to data entry Form A. If this form has a Record Link field with a target of form B, then it can automatically fill in the record link field with a reference to the particular record of form B that was being looked at on the first page.
Example 2: A form contains a list of towns. The user click on a town name, and is shown a list of businesses in that town. If they want to get added to the list of businesses, and be shown in that town, they could click on a link to the business form. The business form contains several fields to collect information about the business, and a record link field to choose the town. However we should already know the town, from the previous page their were on, and don't need to ask again. Checking the 'Hide if completed with page parameters' prevents the field from being shown.
Blank Option Text
If the field has not been completed (and has not be pre-filled by page parameters) then the dropdown shows a blank entry highlighed at the top of the list.
You can override this to show some text of your choice in this position, for example '(choose an option from the list)'
Auto-complete (when only one option)
Sometimes there will only be one option to be shown in a drop down. In this case, the system can automatically select that option, to save the user from having to make a 'pointless' choice.
If this is selected, you can also choose to hide the field completely, by checking the Auto-hide option.
Show search after [n] options
Sometimes there will be a large number of options to be shown in a drop down. In such cases, displaying them all in a drop down will present a number of problems: the sheer amount of data can make the page slow to appear, and a long drop down can be unwieldy to use.
By default, if the drop down would show more than 50 options, the system will show a link to a pop-up picker instead. This allows the list to be paged though, a few at a time, and allows the list to be searched.
Cascading input filters
If there is an extremely large number of options, it may be sensible to structure them into some form of tree or hierarchy.
Example 3: If you wanted to present a list of towns in the USA, you could present them all in one list, but it would be better to ask the user to select a State first, and then show a drop down of the towns in that State.
The cascading input filters allows you to manage the presentation of a cascade of drop down lists to do this. There is no limit to the number of levels in the cascade, so, in the above example, it might be even better to ask for a country, then for a state, and then for a town.
Each level in the cascade needs to be stored in a separate form.
So, in the above example, there would need to be:
- A form 'Country', listing the different countries in the world.
- A form 'State', with a record link field to the 'Country' form, to say which country each state is in.
- A form 'Town', with a record link field to the 'State' form, to say which state each town is in.
- ... and the form we are displaying the cascade on, 'Business'
The Record Link datafield stores a reference to the bottom level item (the town, in our example). The drop downs presented beforehand in the cascade are simply used to get the user to that choice, and are not stored. Indeed, there is no need to store them, as they can be inferred from the links between the other forms.
For each level of the cascade you can define:
- a prompt to be displayed against the drop down,
- the blank option text, eg '(select a state)'
- the record link field to be used to access the list of options
All the other advanced options work with the cascading input filter, and are applied as required to each level of the cascade.