Combo Boxes and List Boxes
ComboBoxes and ListBoxes are the primary selection components in OneStream dashboards. They let users choose from a list of values — entities, scenarios, accounts, or any custom set — and write the selection to a parameter that other components consume. The selection can also trigger server tasks and cascade to dependent components.
ComboBox Properties
| Property | Description |
|---|---|
| BoundParameter | The parameter that receives the user's selection. Bind to a Member List parameter to populate the box from a dimension. |
| Member Filter | Not a property of the component itself — it is set on the bound Member List parameter (e.g., E#TotalCompany.Base) and determines which members appear |
| IsMultiSelect (Display Format) | When True, users can select multiple values (result is comma-separated). This is a Display Format setting; AllowMultiselect is a grid/SQL-Table-Editor property, not a combo/list one. |
| SelectionChangedUserInterfaceAction | UI action after selection: NoAction, Redraw, Refresh, CloseDialog, CloseDialogAsOK |
| SelectionChangedServerTask | Server task to execute on selection change |
| SelectionChangedServerTaskArguments | Curly brace syntax for the server task |
| DashboardsToRedraw | Comma-separated list of dashboards to refresh after selection |
ListBox Properties
ListBoxes have the same property set as ComboBoxes but display all options in a scrollable vertical list instead of a dropdown. This is useful when the user needs to see all options at once or when the option list is short enough to display in full.
The BoundParameter Concept
When a user selects a value in a ComboBox or ListBox, the component writes the selected value to the parameter named in BoundParameter. Any other component referencing
|!BoundParamName!| will use that value on the next refresh or redraw.This is the fundamental pattern for interactive dashboards: user selects → parameter updates → components re-render with the new value.
Populating Lists
There are two approaches to populating a ComboBox or ListBox with options.
Approach 1: Member List Parameter
Bind the combo/list box to a Member List parameter and set that parameter's Member Filter to a dimension member filter expression. OneStream evaluates the expression and populates the list with the matching members. No data adapter is needed.
Common MemberFilter patterns:
| Expression | Returns |
|---|---|
E#TotalCompany.Base | All base (leaf) entities under TotalCompany |
S#AllScenarios.Children | Direct children of AllScenarios |
A#TotalRevenue.Children | Direct children of TotalRevenue |
T#2026.Base | All base time periods in 2026 |
E#TotalCompany.Descendants | All descendants (all levels) under TotalCompany |
Approach 2: Data Adapter
Bind the box to a Bound List parameter backed by a SQL or Method data adapter. The first column of the returned DataTable becomes the display values in the list. This approach is useful when the options do not map to a dimension hierarchy — for example, a list of report types, status values, or custom lookup data.
ComboBox Example: Entity Selector
An Entity selector ComboBox that drives a CubeView report.
ComboBox configuration:
When the user selects an entity, the
SelectedEntity parameter updates and ReportDashboard refreshes — any CubeView or adapter referencing |!SelectedEntity!| re-evaluates with the new entity.ListBox Example: Multi-Select Accounts
A ListBox that allows multi-selecting accounts for a report filter.
ListBox configuration:
When the user selects multiple accounts, the
SelectedAccounts parameter receives a comma-separated value like Sales,Services,Licensing. A Business Rule or SQL adapter can then parse this list to filter data.Cascading Selections
ComboBoxes can cascade — selecting a value in one ComboBox dynamically updates the available options in a dependent ComboBox. This is achieved by referencing the parent's BoundParameter in the child's MemberFilter.
For cascading to work:
- The parent ComboBox must have
SelectionChangedUserInterfaceActionset to Refresh - The child ComboBox's MemberFilter or adapter query must reference the parent's BoundParameter using
|!ParentParam!| - On refresh, OneStream re-evaluates the child's options with the updated parent value
Triggering Server Tasks
ComboBoxes and ListBoxes support the same server task properties as Buttons. When a user's selection triggers a server task:
- The BoundParameter is updated with the selected value
- The server task executes (if configured)
- The UI action fires
- DashboardsToRedraw are refreshed
The SelectionChangedServerTaskArguments property uses the same curly brace syntax as Buttons:
Related Content
- Dimension Naming and Assignment — Reserved characters affecting member filter syntax
- Parameters and Syntax — Nested parameters for cascading prompts and
|!Param!|syntax - Buttons — Shared action property model (server tasks, UI actions, DashboardsToRedraw)
- Data Adapters — Data adapter binding for adapter-populated lists