GridView
The GridView component displays data from a data adapter in a read-only tabular grid. It is similar to the SQL Table Editor but without editing capabilities — users can view, sort, filter, and group data, and select rows to drive parameter values for other dashboard components.
GridView Properties
| Property | Description |
|---|---|
| TableName | Name of the data table from the adapter to display in the grid |
| ShowHeader | When True, displays the grid Name and Description as a header on the dashboard |
| ShowColumnSettingsButton | When True, shows a Column Settings button that lets users reorder columns and set visibility |
| AllowColumnReorder | When True, users can drag columns to reorder them |
| ShowGroupPanel | When True, shows a grouping area where users can drag column headers to group rows by that column |
| ShowRowHeaders | When True, displays row headers on the grid |
| ShowColumnHeaders | When True, displays column headers on the grid |
| ShowHorizontalGridLines | When True, displays horizontal grid lines between rows |
| ShowVerticalGridLines | When True, displays vertical grid lines between columns |
| DefaultforColumnsareVisible | When True, all columns are hidden by default unless overridden individually in GridViewColumnFormat |
| RetainTableColumnOrder | When True, locks column order to the GridViewColumnFormat settings rather than the adapter result order |
| ShowToggleSizeButton | When True, shows a toggle button to resize the component at runtime |
| BoundParameter | Dashboard parameter that receives the value from the selected row |
| ColumnNameForBoundParameter | Which column's value to write to BoundParameter when a row is selected |
| AllowMultiselect | When True, enables multi-row selection. BoundParameter becomes a comma-delimited list of selected values. Users can Shift-click for ranges, Ctrl-click for individual rows, or use the Select All checkbox. |
| SaveState | When True, persists user preferences for column order, visibility, filtering, sorting, and width |
| VarySaveStateBy | Varies the saved state by WorkflowProfile and/or Scenario, so different workflow contexts can have different grid layouts |
GridViewColumnFormat
Each column in the grid can be individually configured through GridViewColumnFormat settings. These override the default display for specific columns.
| Property | Description |
|---|---|
| ColumnName | The exact column name from the data table (must match exactly) |
| Description | Display name for the column header (defaults to the column name if not set) |
| ColumnDisplayType | Standard — displays the raw data value. OneStreamClientImage — replaces the value with the associated OneStream image. WorkflowStatusImage — replaces the value with the associated Workflow status indicator image. |
| IsVisible | Overrides the DefaultforColumnsareVisible setting for this column (True, False, or Use Default) |
| ParameterName | A parameter name to store the value from this column when the row is selected (independent of BoundParameter) |
| BackgroundColor | Background color for the column. Can be a standard color or a system color (e.g., XFReadOnlyText) |
| IsGroupable | When True, the column can be dragged to the Group Panel for row grouping |
| NumberFormat | Numeric display format for the column values |
| Width | Column width in pixels |
Data Flow
The GridView reads a DataTable from its bound data adapter and renders each column according to the GridViewColumnFormat settings. When a user clicks a row, the value from the column specified in ColumnNameForBoundParameter is written to the BoundParameter. Any components that reference that parameter through
|!Param!| syntax will refresh with the new value.Master-Detail Pattern
A common use of GridView is the master-detail pattern — a GridView shows a list of items, and selecting a row drives a detail view on the same or a linked dashboard.
In this example:
- A SQL adapter queries an approval tracking table and returns EntityName, ApprovalStatus, and Owner columns
- The GridView displays the results with ColumnNameForBoundParameter set to
EntityName - When the user clicks a row, the entity name is written to the
SelectedEntityparameter - A CubeView component on the same dashboard uses
E#|!SelectedEntity!|in its POV, refreshing to show financial data for the selected entity - A Label component displays the selected entity name using
|!SelectedEntity!|
Action Properties
GridView supports the same action property model as other interactive components:
| Property | Description |
|---|---|
| SelectionChangedServerTask | Server task to execute when a row is selected (e.g., ExecuteDashboardExtenderBusinessRule) |
| SelectionChangedServerTaskArguments | Arguments passed to the server task |
| SelectionChangedUserInterfaceAction | UI action after the server task completes (Redraw, Refresh, CloseDialog, etc.) |
| DashboardsToRedraw | Comma-separated list of dashboard component names to refresh after selection |
When to Use GridView vs Other Grid Components
| Component | Editable | Paging | Data Source | Best For |
|---|---|---|---|---|
| GridView | No | No | Any data adapter | Read-only display of small-to-medium datasets with row selection |
| SQL Table Editor | Yes | Yes | SQL adapter | Editable tabular data with large dataset support |
| DynamicGrid | Yes | Yes | SQL adapter + Workspace Assembly | Editable grids with custom column types and save handler BRs |
| PivotGrid | No | No | Any data adapter | Drag-and-drop pivot analysis with calculated fields |
| LargeDataPivotGrid | No | Yes | Direct table connection | Server-side pivot analysis on large/external datasets |
Related Content
- Data Adapters — SQL and Custom adapter binding for GridView data sources
- DynamicGrid and SQL Table Editor — Editable grid alternatives when users need to modify data
- Parameters and Syntax — BoundParameter mechanics and
|!Param!|substitution syntax - Buttons — Shared action property model (SelectionChangedServerTask, DashboardsToRedraw)
- PivotGrid — Drag-and-drop pivot analysis for cross-tabular reporting