Skip to main content

Column Type Values

Type ValuePolarion StorageInternal FormatDisplay ExampleDescription
dateDateOnlyyyyy-MM-dd2025-03-15Date without time component. Calendar picker for editing
datetimeDateISO DateTime2025-03-15 14:30Date with time component. Calendar + time picker
timeTimeOnlyhh:mm:ss14:30:00Time without date component. Time-only entry
Column Type Storage Format Display Example
date--->yyyy-MM-dd--->2025-03-15
datetime--->ISO DateTime--->2025-03-15 14:30
time--->hh:mm:ss--->14:30:00

Column Properties

NameTypeDefaultDescription
idstringAuto-generated from header or bindingUnique column identifier
typestringAuto-detected from bindingSet to date, datetime, or time. If not specified, Risksheet infers the type from the Polarion field definition
headerstringRequiredDisplay text shown in the column header
bindingstringSame as idPolarion field binding name. Must match the work item field ID in Polarion
widthnumberSee applicationColumn width in pixels
minWidthnumberSee applicationMinimum width in pixels that the column can be resized to
formatstringNoneCustom display format string (e.g., "dd/MM/yyyy", "MM-dd-yyyy"). Controls how the date renders in the cell. See Format Strings
readOnlybooleanfalseControls whether the column cells can be edited by users. Automatically set to true for system date fields (created, updated). Note: case-sensitive — must be readOnly with uppercase O
levelnumber1Hierarchical level at which this column appears (1 = top level, 2 = second level)
headerGroupstringNoneName of the header group this column belongs to for multi-level column headers
headerGroupCssstringNoneCSS class name(s) to apply to the header group row
collapseTostringNoneColumn ID to collapse this column into when the header group is collapsed
filterablebooleantrueControls whether users can filter the risksheet by values in this column
cellCssstringNoneCSS class name(s) to apply to all cells in this column
multiLinebooleantrueNot typically relevant for date columns, but inherited from the base column configuration
The readOnly property is case-sensitive: "readOnly": false works correctly, but "readonly": false does not. This is a very common configuration mistake, especially when making upstream linked item date columns editable. Always use the camelCase form readOnly.

Type Conversion

Risksheet automatically converts between different date representations when reading from and writing to Polarion. The conversion system handles multiple source types transparently:
Source TypeTarget FormatDescription
Polarion Date objectsISO format stringsStandard Polarion date fields are converted to yyyy-MM-dd for dates
Java Date/Calendar objectsISO format stringsLegacy Polarion date values are normalized
ISO string format (yyyy-MM-dd)Parsed directlyDate strings in ISO format are accepted without conversion
ISO string format (hh:mm:ss)Parsed directlyTime strings in ISO format are accepted without conversion
String fieldsDate objectsA string field can be configured as a date column; Risksheet attempts to parse the string value as a date
Integer/Float fieldsNot applicableNumeric fields cannot be displayed as date columns
You can display any Polarion field as a date column by setting "type": "date" in the column configuration, regardless of the underlying Polarion field type. For example, a string field can be shown as a date column if its values contain parseable date strings.

Display Formatting

Default Behavior

Date columns with type: "date" parse YYYY-MM-DD format strings to local time Date objects before applying any configured format. The parsing uses local time rather than UTC to avoid off-by-one date shifts from timezone conversion.

Format Strings

The format property accepts format strings compatible with the localization library. Common patterns:
Format StringOutput ExampleDescription
"yyyy-MM-dd"2025-03-15ISO date (default)
"dd/MM/yyyy"15/03/2025European day-first format
"MM/dd/yyyy"03/15/2025US month-first format
"dd.MM.yyyy"15.03.2025German/Central European format
"d MMM yyyy"15 Mar 2025Short month name

Culture-Dependent Formatting

The global.culture property in risksheet.json affects how dates (and numbers) are formatted and parsed. For example, setting "global": { "culture": "de" } changes the default date display to German locale conventions.
{
  "global": {
    "culture": "de"
  }
}
See Culture and Localization Codes for the full list of supported culture codes.
In version 24.5.0, adding a format property to date-only columns caused save errors due to a timezone fix regression. The format property triggered incorrect timezone handling that prevented successful saves.Workaround: Remove the format property from date-only columns and enter dates in YYYY-MM-DD format directly in the cell instead of using the calendar popup. This issue was resolved in subsequent versions.

System Date Fields

Certain Polarion system fields are date-typed and always read-only:
Field BindingTypeRead-OnlyDescription
createddatetimeAlwaysWork item creation timestamp
updateddatetimeAlwaysLast modification timestamp
These fields have readOnly automatically set to true by Risksheet and cannot be made editable.

Upstream Date Columns

To display and edit a date attribute from an upstream linked work item (e.g., a requirement’s due date shown on the risk item row):
  1. Set the binding to the linked item’s date field using dot notation (e.g., req.dueDate)
  2. Set "readOnly": false (case-sensitive, uppercase O) to enable editing
  3. Optionally configure a format string for display
{
  "columns": [
    {
      "id": "reqDueDate",
      "header": "Req. Due Date",
      "binding": "req.dueDate",
      "type": "date",
      "readOnly": false,
      "width": 120,
      "level": 1
    }
  ]
}
Upstream columns need "readOnly": false (case-sensitive with uppercase O) to be editable. Without this property, upstream columns default to read-only since they reference data from another work item.

Date Entry Behavior

When editing a date cell, Risksheet provides a calendar date picker. Users can also type dates directly into the cell. The accepted input format depends on the column configuration:
ScenarioAccepted Input
No format property setYYYY-MM-DD (ISO format)
format property setDate string matching the configured format pattern
Calendar pickerClick to select date from calendar dropdown
When the format property is removed (as a workaround for the v24.5.0 bug), enter dates in YYYY-MM-DD format directly in the cell. The calendar popup may not be available in all configurations.

Comparison Mode

Date columns participate in baseline comparison mode. When comparing two document revisions:
  • Changed date values are highlighted with comparison styling
  • Tooltips show the old value and new value
  • Added rows display date values with “new row” indicators
  • Removed rows display date values with “removed row” indicators
The comparison applies to both master item date columns and downstream task date columns.

Read-Only Field Protection

The following system fields are always read-only and cannot be edited through Risksheet, even if readOnly: false is set:
  • id — Work item ID
  • status — Work item status
  • type — Work item type
  • project — Project identifier
  • outlineNumber — Document outline number
  • created — Creation timestamp
  • updated — Last modification timestamp
  • author — Work item author
  • resolution — Work item resolution
Attempts to save changes to these fields are silently ignored.

Complete Example

An FMEA configuration with target date tracking, completion dates on downstream tasks, and system timestamps:
{
  "global": {
    "culture": "en"
  },
  "columns": [
    {
      "id": "targetDate",
      "header": "Target Date",
      "type": "date",
      "binding": "targetDate",
      "width": 120,
      "level": 2,
      "headerGroup": "Schedule",
      "readOnly": false,
      "filterable": true
    },
    {
      "id": "completionDate",
      "header": "Completed",
      "type": "date",
      "binding": "task.completionDate",
      "width": 120,
      "headerGroup": "Schedule",
      "readOnly": false
    },
    {
      "id": "reviewDate",
      "header": "Review Date",
      "type": "date",
      "binding": "reviewDate",
      "width": 120,
      "level": 2,
      "headerGroup": "Schedule",
      "readOnly": false
    },
    {
      "id": "lastModified",
      "header": "Last Updated",
      "type": "datetime",
      "binding": "updated",
      "width": 150,
      "readOnly": true
    },
    {
      "id": "createdOn",
      "header": "Created",
      "type": "datetime",
      "binding": "created",
      "width": 150,
      "readOnly": true
    },
    {
      "id": "reqDueDate",
      "header": "Req. Due Date",
      "binding": "req.dueDate",
      "type": "date",
      "readOnly": false,
      "width": 120,
      "level": 1,
      "headerGroup": "Requirement"
    }
  ]
}
This configuration provides:
  • Editable targetDate and completionDate columns for risk item scheduling
  • Editable reviewDate for tracking review milestones
  • Read-only lastModified and createdOn columns displaying system timestamps
  • Editable upstream reqDueDate showing the linked requirement’s due date
Support TicketsSource Code
  • GetSetUtil.java
  • PolarionAppConfigManager.java
  • CellPreviewFormatter.ts
  • risksheet.json
  • SheetConstants.ts