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 |
| MemberFilter | Dimension member filter expression that populates the dropdown (e.g., E#TotalCompany.Base) |
| AllowMultiselect | When True, users can select multiple values (result is comma-separated) |
| 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: MemberFilter
Set the MemberFilter property 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 a SQL or Custom data adapter to the component. 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