Choice controls¶
Four controls ask the user to choose: Dropdown, Checkbox, Checkgroup, and Radio. They differ in how many answers they accept and in how much space they take on the form.
| Control | Answers | Looks like |
|---|---|---|
| Dropdown | One | A closed box that opens a menu |
| Radio | One | Round buttons, all options visible |
| Checkbox | On or off | A single square |
| Checkgroup | Several | A group of squares |
Dropdown¶
Use the dropdown when the list is long or the form is crowded. It is the right control for a value a condition will compare, because the stored value is the option's value, not its label: the label can be translated and the condition keeps working.
Radio¶
One answer, with every option visible. It is the best choice for two to five options the user must see at once, and it is easier to hit than a dropdown on a phone.
Checkbox¶
One independent answer. It is not a group: if you need several independent answers, use one Checkbox per question or a Checkgroup.
Checkgroup¶
Several answers at once, stored as a list. That has a direct consequence:
- A condition cannot compare the whole control with a single value.
- In a trigger, the value arrives as a list; loop over it or use a function that searches inside it.
- In a grid or a document, the list is shown joined, not as separate fields.
Options from a database¶
Dropdown, Checkgroup, and Radio can build their options from a database connection. The connection and the query are stored with the control, and the values are read when the form opens — so a change in the database appears in the form without editing the form.
In a condition¶
@@Decision == "approved"
Compare with the option's value, not its label, and read it with @@ even when the
value looks like a number: an option is text.
Related¶
- Control properties — options, default value and dependencies.
- Lookup control — when the answer comes from a search.
- Conditions — how the chosen value is compared.