# Checkbox List

A Check box list renders a list of options and allows user to select multiple values. Use the ForEach action to loop through either all or selected values and action them one at a time.

***

{% embed url="<https://www.youtube.com/embed/b46FXxo9oaQ?autoplay=1&rel=0&vq=1080>" %}
Add a Checkbox List
{% endembed %}

***

### Properties

1. **Direction**

   TopToBottom or LeftToRight - How the options should display to the user
2. **Options**

   ![](/files/yQXPINXI1PRvsFXxo1LY)

   Specify a list of options to display in the control. It can be generated from a static list or from data. When populating the Options from a [*Connector*](/connectors.md) or file, use the Field Mapping Editor found in the Property Grid (seen circled in red below) to assign the *Text* and the *Value* of the items.
3. **Read-Only**

   Set to True if you want the control to display as read-only (value can't be changed) on the page.
4. **Selected Value**

   A comma separated list of values that should be checked on initial load.
5. **Validations**

   Some validations that can be applied to the List
6. **Visible**

   Set to False if you don't want this control to render on the page and be visible to the user.

***

### Assigning data to a Checkbox List

Example:

To display a Checkbox List of checkboxes for values retrieved by a SQL query:

1. Use an appropriate [Event](/features/events.md), e.g. *Load* (page) or *Click* (button) to which a [SetValue](/actions/set-value.md) action can be added.
2. Add a [SetValue](/actions/set-value.md) action that populates the Checkbox List (*options*) for each returned value.

Data:

Checkbox Lists expect a `List` of objects containing a `text` and a `value` property

```json
[
    {"text":"Monday","value":"1"},
    {"text":"Tuesday","value":"2"},
    {"text":"Wednesday","value":"3"},
    {"text":"Thursday","value":"4"},
    {"text":"Friday","value":"5"}
]
```

The [Field Mapping ](/features/mappings.md)option in the [SetValue](/actions/set-value.md) action allows for the mapping of object properties other than text & value to these properties


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.stadium.software/controls/checkbox-list.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
