Skip to main content

Step 1: Define Enum Options

In your risksheet.json, add the enumeration definitions with id, name, and optional description for each option:
{
  "enums": {
    "allocation": [
      { "id": "mech", "name": "Mechanical", "visible": true },
      { "id": "elec", "name": "Electrical", "visible": true },
      { "id": "sw", "name": "Software", "visible": true },
      { "id": "sys", "name": "System", "visible": true }
    ]
  }
}
The visible flag controls whether an option appears in the dropdown. Set it to false to hide deprecated options without removing them from the configuration.

Step 2: Add a Multi-Enum Column

Add a column with the multiEnum: type prefix followed by the enum definition ID:
{
  "columns": [
    {
      "id": "allocation",
      "header": "Allocation",
      "binding": "allocation",
      "type": "multiEnum:allocation"
    }
  ]
}
The column type must use the multiEnum: prefix (e.g., "type": "multiEnum:allocation"). Using just "type": "enum:allocation" renders a single-select dropdown even if the underlying Polarion field supports multiple values.

Multi-Select Display Behavior

Selected CountDisplay
0Empty cell
1Single value name
2Both value names shown
3+First 2 names + “+N more” indicator
Multi-enum fields are optional by default — you can leave them empty without selecting any value.

Step 3: Configure Dependent Multi-Enum Filtering (Optional)

Multi-enum columns support dependent relationships. When a controlling field changes, the multi-enum dropdown automatically filters its available options. Add a relations entry to link a parent enum column to the multi-enum child:
{
  "relations": [
    {
      "from": "riskCategory",
      "to": "allocation",
      "mapping": {
        "hardware": ["mech", "elec"],
        "software": ["sw"],
        "system": ["mech", "elec", "sw", "sys"]
      }
    }
  ]
}
When the parent value changes:
  • The multi-enum dropdown filters to show only valid options based on the mapping
  • Any currently selected values that are no longer valid are automatically removed
  • If the parent is cleared, all options become available
All cascading relationship updates are tracked in the undo stack. You can revert the entire chain of dependent updates with a single undo action (Ctrl+Z).

Filtering Multi-Enum Columns

When filtering rows by multi-enum values, you have two options:

Multi-Enum Rendering

Selected values render as a list of chips/tags in the cell. Each value displays its user-friendly name from the enum configuration. Internally, Risksheet stores enum IDs and resolves them to display names during rendering.

Verification

You should now see a multi-select dropdown when clicking a cell in your configured column. Selecting multiple values should display them as chips, with a “+N more” indicator when more than 2 values are selected.

See Also


Support TicketsSource Code
  • MultiEnumEditor.ts
  • GetSetUtil.java
  • CellPreviewFormatter.ts
  • RelationActionController.ts
  • CellEditorFormatter.ts