Skip to main content

Column Definition Structure

Columns are defined as an object where each key is a binding path and each value is a property object:
columns:
  <bindingPath>:
    title: "Display Title"
    width: 150
    # ... additional properties
See Binding Syntax for binding path patterns.

Property Reference

Display Properties

PropertyTypeDefaultDescription
titlestringNoneDisplay label for the column header
widthnumber/string"*"Column width in pixels (number) or proportional width (string with *, e.g., "*", "2*")
minWidthnumber150Minimum column width in pixels for responsive layouts
visiblebooleantrueControls whether the column is shown in the default view. Can be overridden in views.
displaystringidSpecifies which property of a referenced entity to display. Options: title, titleOrName, id, or a custom property path. Can also be a JavaScript function string. See Display Property.
renderstringNoneCustom HTML rendering function or predefined renderer name. See Render Property.

Behavior Properties

PropertyTypeDefaultDescription
hasFocusbooleanfalseIndicates this column receives initial focus for user interaction. Multiple columns in a hierarchy can have hasFocus for different entity levels. Auto-configured to first editable column if not set.
isreadOnlybooleanfalsePrevents user editing of this column. Deprecated in favor of formatter: readOnly.
multiItembooleanfalseIndicates this column displays multiple related items (one-to-many or many-to-many relationship). See Multi-Item Columns.
sortstringNoneDefault sort direction for this column. Values: "asc", "desc". Applied in addition to global sortBy.
groupBybooleanfalseEnables row grouping by this column’s values

Styling Properties

PropertyTypeDefaultDescription
headerobjectNoneCustom styling for the column header. Contains style sub-property referencing a named style. Can use YAML anchors for reuse. See Header Styles.
header.stylestringNoneName of a predefined or custom style to apply to the column header
formatterstringNoneReferences a formatter name from the formatters section to apply conditional styling
columnGroupstringNoneAssigns the column to a visual column group

Picker Properties

PropertyTypeDefaultDescription
listobjectNoneConfiguration for picker/dropdown lists when selecting related entities
list.searcharrayNoneArray of property names to search when filtering entities in picker dropdowns (e.g., [title, id])
list.displaystringNoneJavaScript function string for custom dropdown item rendering
list.createNewbooleanfalseWhether to allow creating new linked items directly from the dropdown
list.optionsstringNoneFor enum types, references a query ID from sources that provides enum values
list.valuestringNoneFor enums, the property name from the options source to use as the actual value
list.orderstringNoneFor enums, the property name from the options source to sort the list by

Column Property Categories

diagram

Simple Column

columns:
  id:
    width: 80
  title:
    title: Title
    width: 200
    hasFocus: true
columns:
  systemRequirements.systemRequirement.title:
    title: System Requirement
    width: 180
    columnGroup: sysReq
    header:
      style: blue

Reference Column with Picker

columns:
  hazard:
    title: Hazard
    display: title
    list:
      search:
        - title
        - id

Multi-Item Column

columns:
  riskControls.riskControl:
    title: Risk Controls
    width: 160
    multiItem: true
    display: title
    list:
      search:
        - title
        - id
When a parent entity links to multiple work item types, the second linked entity column must be declared with multiItem: true. This is a common first-time configuration mistake.

Complete YAML Example

columns:
  outlineNumber:
    title: "#"
    width: 80
    formatter: readonly
    isReadOnly: true
  title:
    title: User Need
    width: 200
    hasFocus: true
  description:
    title: Description
    width: 140
    visible: false
  systemRequirements.systemRequirement.title:
    title: System Requirement
    width: 180
    columnGroup: sysReq
    header:
      style: blue
  systemRequirements.systemRequirement.severity:
    title: Severity
    width: 100
    columnGroup: sysReq
    sort: desc
  systemRequirements.systemRequirement.designRequirements.designRequirement.title:
    title: Design Requirement
    width: 180
    columnGroup: desReq
    header:
      style: green
  hazard:
    title: Hazard
    display: title
    list:
      search:
        - title
        - id
  riskControls.riskControl:
    title: Risk Controls
    width: 160
    multiItem: true
    display: title
    columnGroup: riskCtrl
    header:
      style: red

columnGroups:
  sysReq:
    groupName: System Requirements
    groupStyle: darkblue
    headerStyle: blue
  desReq:
    groupName: Design Requirements
    groupStyle: darkgreen
    headerStyle: green
  riskCtrl:
    groupName: Risk Controls
    groupStyle: darkred
    headerStyle: red

formatters:
  readonly:
    - expression: 'true'
      style: readOnlyStyle

styles:
  readOnlyStyle:
    backgroundColor: 'grey100'

Source references: Column Configuration Guide KB article, powersheet.yaml, whole_rtm.template.yaml
KB ArticlesSupport TicketsSource Code
  • powersheet.yaml
  • model.yaml
  • prod-powersheet-src/com.nextedy.powersheet.client/ltc-repo/packages/common/types/api/document.ts
  • prod-powersheet-src/com.nextedy.powersheet.client/cypress/fixtures/configurations/whole_rtm.template.yaml
  • prod-powersheet-src/com.nextedy.powersheet.client/cypress/fixtures/configurations/constraints_composing.template.yaml