Step 1: Open the Sheet Configuration
- Open your powersheet document in Polarion
- Navigate to Menu > Configuration > Edit Document Configuration
- Locate the
columnssection in the YAML configuration
columns section is an object where each key is a binding path that maps to an entity property or expansion path defined in your domain model.
Step 2: Add a Simple Property Column
Add a new entry undercolumns with a key matching a property name from your domain model entity type:
title, description, severity) must match a property name defined in the entity type of your source configuration.
Step 3: Add a Navigation Property Column
To display properties from related entities, use dot-separated binding paths that follow the expansion path defined in the domain model sources configuration:systemRequirements.systemRequirement navigates from the root entity through the systemRequirements relationship (the direct navigation property) to the SystemRequirement entity type.
Ensure expansion paths match your sources configuration
Ensure expansion paths match your sources configuration
The binding path in a column must follow an expansion path defined in your
sources section. If you reference systemRequirements.systemRequirement in a column but have not defined this expansion in sources[].expand, the column will not display any data. See Configure Sources for setting up expansion paths.Step 4: Configure Display for Linked Entities
When a column binds to a navigation property (a related entity), usedisplay to specify which field of the related entity to show in the cell:
display values:
| Value | Shows |
|---|---|
title | The entity title field |
titleOrName | Title if available, otherwise name |
id | The entity identifier (default) |
render property referencing a named renderer:
Step 5: Configure a Multi-Item Column
When a relationship is one-to-many or many-to-many, setmultiItem: true to display all linked entities in a single cell and enable the multi-item picker:
list.createNew: true allows users to create a new linked entity directly from the picker dropdown. See Configure Multi-Item Column for advanced multi-item scenarios.
Step 6: Set Column Width and Sizing
Control column dimensions usingwidth and minWidth:
| Format | Behavior |
|---|---|
200 | Fixed width of 200 pixels |
"*" | Proportional — fills remaining space equally |
"2*" | Proportional — takes twice the space of "*" columns |
"*" (proportional) and the default minWidth is 150 pixels.
Step 7: Apply Header Styling and Column Groups
Apply a predefined style to the column header and assign it to a column group for visual organization:Column Properties Quick Reference
| Property | Type | Default | Description |
|---|---|---|---|
title | string | binding path | Display label in the column header |
width | number or string | "*" | Width in pixels or proportional ("*", "2*") |
minWidth | number | 150 | Minimum width in pixels |
visible | boolean | true | Whether the column is shown by default |
display | string | id | Which property of a referenced entity to show |
multiItem | boolean | false | Enable multi-item picker for collection relationships |
isReadOnly | boolean | false | Prevent editing (may be overridden by permissions) |
isRequired | boolean | false | Require a value before save |
hasFocus | boolean | false | Column receives initial focus on new row |
hasUrl | boolean | false | Show a link to the entity in the target platform |
frozen | boolean | false | Keep column visible when scrolling horizontally |
formatter | string | — | Name of a formatter for conditional styling |
columnGroup | string | — | Assign column to a visual column group |
header | object | — | Custom header styling (header.style references a style name) |
groupBy | boolean or object | false | Enable row grouping by column values |
sort | string | — | Default sort direction (asc or desc) |
aggregate | string | — | Aggregate calculation: sum, avg, min, max, count |
filter | object | — | Initial client-side filter (filter.values: [...]) |
wordWrap | boolean | true | Wrap long text in the cell |
multiLine | boolean | true | Allow multi-line text editing |
format | string | — | Display format string (e.g., c0$ for currency) |
render | string | — | Reference to a named renderer or JavaScript expression |
formula | string | — | Computed column using () => expression syntax |
list | object | — | Picker configuration: search fields, createNew toggle |
Verify
After saving the sheet configuration, reload the powersheet document. You should now see:- ✅ The new column appears in the sheet with the specified title
- ✅ Data from the bound property or expansion path is displayed correctly
- ✅ For
multiItemcolumns, all linked entities appear in the cell - ✅ Picker dialogs allow searching by the configured
list.searchfields - ✅ Column header shows the applied style if
header.stylewas set
If the column appears but shows no data, verify that the binding path matches an expansion path defined in your
sources configuration and that the entity type has the property defined in the domain model.Column Sizing
Control column dimensions using fixed pixel widths, proportional star-sizing, and minimum width constraints.Fixed Pixel Width
Assign a number to set the column width in pixels:Proportional Width
Use a string with* to define proportional width relative to other star-sized columns. The available space (after fixed-width columns are allocated) is distributed proportionally:
id column takes 80 pixels, the remaining space is split — title gets one share and description gets two shares.
If
width is not specified, the default value is "*" — the column takes one proportional share of the available space.Minimum Width
UseminWidth to prevent a column from shrinking below a certain pixel threshold when the sheet is resized:
minWidth is 150 pixels.
Width Strategy Decision Guide
Default Sorting
Configure the initial sort order for rows using thesortBy property at the top level of your sheet configuration.
sortBy Array Configuration
Add asortBy array with entries specifying a columnId and optional direction:
| Property | Required | Description | Default |
|---|---|---|---|
columnId | Yes | Dot-separated binding path to the column to sort by | — |
direction | No | Sort order: "asc" (ascending) or "desc" (descending) | "asc" |
columnId value must match a binding path defined in your columns section.
Multi-Column Sort
Multiple entries in thesortBy array create a multi-column sort. Rows are sorted by the first column, then ties are broken by the second, and so on:
Per-Column Sort Property
Individual columns also support asort property that defines a default sort direction for that specific column:
Interactive Sorting
Users can interactively sort by clicking column headers. Powersheet supports these sort interactions:- Click a column header to sort by that column (toggles ascending/descending)
- Ctrl+Click a column header to add it to the multi-column sort chain
- Column headers display a visual sort direction indicator when active
Sorting is applied on the client side after data loads. The sort order specified in
sortBy defines the initial view — users can change it interactively from the toolbar.See Also
- Configure a Column Group — group related columns visually
- Configure a Formatter — add conditional styling to columns
- Apply Column Styles — style column headers
- Configure Sources — define expansion paths for navigation columns
- Create a View — create named column visibility presets
- Configure Read-Only Column — control column editability
- Configure Multi-Item Column — advanced multi-item picker setup
- Sheet Configuration Reference — complete YAML property reference