Skip to main content
See also: Binding Syntax | Column Properties | Column Groups

Column Structure Overview

diagram

Column Properties

NameTypeDefaultDescription
titlestringNoneDisplay label for the column header.
widthnumberNoneColumn width in pixels.
minWidthnumberNoneMinimum column width in pixels for responsive layouts.
visiblebooleantrueControls whether the column is shown by default. Can be overridden by Views.
hasFocusbooleanfalseIndicates this column receives initial focus for editing. Auto-assigned to first editable column if not set.
formatterstringNoneReferences a formatter name from the formatters section. See Formatters.
columnGroupstringNoneAssigns the column to a visual column group defined in columnGroups. See Column Groups.
multiItembooleanfalseIndicates this column displays multiple related items (one-to-many or many-to-many relationship). See Multi-Item Columns.
displaystringidSpecifies which property of a referenced entity to display. Options: title, titleOrName, or a custom property path. See Display Property.
sortstringNoneDefault sort direction for this column: asc or desc.
groupBybooleanfalseEnables row grouping by this column’s values.
isreadOnlybooleanfalsePrevents user editing of this column. Deprecated in favor of formatter: readOnly.
headerobjectNoneCustom styling for the column header. See Header Styles.
listobjectNoneConfiguration for picker/dropdown lists when selecting related entities.
list.searcharrayNoneArray of property names to search when filtering in picker dropdowns.

Basic Column Definition

The column key is the binding path — a dot-separated path from the domain model root entity to the target property:
columns:
  title:
    title: Title
    width: 200
    hasFocus: true

  description:
    title: Description
    width: 300

  severity:
    title: Severity
    width: 100
Columns can display properties from related entities by using navigation paths. The path follows the pattern: <navigationProperty>.<entityType>.<field>:
columns:
  systemRequirements.systemRequirement.title:
    title: System Requirement
    width: 200
    hasFocus: true

  systemRequirements.systemRequirement.designRequirements.designRequirement.title:
    title: Design Requirement
    width: 200
See Binding Syntax for the full path syntax reference.

Multi-Item Columns

When a column represents a one-to-many or many-to-many relationship, set multiItem: true:
columns:
  systemRequirements.systemRequirement.verificationTestCases.verificationTestCase:
    title: Verification Test Cases
    width: 180
    multiItem: true
    display: title
    header: *blue
When two different related entity types are linked to the same parent (e.g., design outputs and verification test cases both linked to system requirements), the second linked column must use multiItem: true. This is a common configuration mistake for new users.

Column with Formatter

columns:
  outlineNumber:
    title: "#"
    width: 80
    formatter: readonly
    isreadOnly: true
The referenced formatter must be defined in the formatters section:
formatters:
  readonly:
    - expression: 'true'
      style: readOnlyStyle
See Formatters and Conditional Formatting.

Column with Header Styling

Use YAML anchors for reusable header styles:
columns:
  title:
    title: User Need
    width: 200
    header: &blue
      style: blue

  systemRequirements.systemRequirement.title:
    title: System Requirement
    width: 200
    header: *blue
See Header Styles for available predefined styles.

Column with Display Property

Control how referenced entities appear in the column:
columns:
  systemRequirements.systemRequirement:
    title: Sys Req
    width: 150
    display: titleOrName
Display ValueDescription
idShows the entity ID (default).
titleShows the entity title.
titleOrNameShows title if available, falls back to document name.
See Display Property. Configure which fields are searchable in the entity picker dropdown:
columns:
  systemRequirements.systemRequirement:
    title: System Requirement
    width: 200
    display: title
    list:
      search:
        - title
        - moduleName

Column with Column Group

columnGroups:
  requirements:
    groupName: Requirements
    groupStyle: blue
    headerStyle: lightblue
    collapseTo: title

columns:
  title:
    title: Title
    width: 200
    columnGroup: requirements

  description:
    title: Description
    width: 300
    columnGroup: requirements
See Column Groups.

Complete YAML Example

columnGroups:
  sysReq:
    groupName: System Requirements
    groupStyle: blue
    headerStyle: lightblue
    collapseTo: systemRequirements.systemRequirement.title

sortBy:
  - columnId: outlineNumber
    direction: asc

columns:
  outlineNumber:
    title: "#"
    width: 80
    sort: asc
    formatter: readonly

  title:
    title: User Need
    width: 200
    hasFocus: true

  description:
    title: Description
    width: 250

  severity:
    title: Severity
    width: 100

  systemRequirements.systemRequirement.title:
    title: System Req Title
    width: 200
    columnGroup: sysReq
    hasFocus: true
    header: &blue
      style: blue

  systemRequirements.systemRequirement.severity:
    title: Sys Req Severity
    width: 100
    columnGroup: sysReq
    header: *blue

  systemRequirements.systemRequirement.designRequirements.designRequirement:
    title: Design Outputs
    width: 180
    multiItem: true
    display: title
    header:
      style: green

views:
  Without Design:
    columns:
      systemRequirements.systemRequirement.designRequirements.designRequirement:
        visible: false

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

styles:
  readOnlyStyle:
    backgroundColor: grey100

sources:
  - id: requirements
    model: rtm
    query:
      from: UserNeed
    expand:
      - name: systemRequirements
        title: System Requirements
        expand:
          - name: designRequirements
            title: Design Requirements

Related pages: Binding Syntax | Column Properties | Column Groups | Views | Formatters | Sources
KB ArticlesSupport TicketsSource Code
  • prod-powersheet-src/com.nextedy.powersheet.client/ltc-repo/packages/common/types/api/document.ts
  • powersheet.yaml
  • prod-powersheet-src/com.nextedy.powersheet.client/ltc-repo/packages/common/types/domain/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_currentDocument_downstream.template.yaml