Skip to main content

Column Type Overview

Column types define how data appears and behaves in the RISKSHEET grid. Each type has associated editors, formatters, validation rules, and storage mechanisms.
Type IDPurposeEditorData StorageExample Binding
stringPlain text fieldsText inputString valuetitle, description
intInteger numbersNumeric inputInteger (Int64)priority, count
floatDecimal numbersNumeric inputDouble precisionweight, percentage
currencyMoney amountsNumeric inputDecimal with precisioncost, budget
booleanTrue/false toggleCheckboxBooleanisActive, approved
dateCalendar date onlyDate pickerDate (yyyy-MM-dd)dueDate, createdDate
datetimeDate and timeDateTime pickerDateTimeOffsettimestamp, modifiedTime
timeTime onlyTime pickerTimeOnly (hh:mm:ss)startTime, endTime
durationTime spansText inputString or numericestimatedHours, actualDuration
enum:enumIdSingle selection from listDropdown/ComboboxEnum ID stringseverity:critical_major_minor, status
multiEnum:enumIdMultiple selections from listMulti-select editorColon-separated IDstags:type_priority_area
rating:ratingIdNumeric rating scaleRating comboboxInteger 1-5rating:occurrence_5, likelihood

Text and Numeric Types

String Type

{
  "header": "Description",
  "id": "description",
  "binding": "description",
  "type": "string",
  "width": 250,
  "wordWrap": true,
  "multiLine": true
}
PropertyTypeDefaultDescription
typestringstringColumn data type identifier
bindingstring-Polarion field binding path
widthnumberautoColumn width in pixels
minWidthnumber-Minimum width before truncation
readOnlybooleanfalsePrevents user editing
wordWrapbooleantrueEnables text wrapping
multiLinebooleantrueAllows multi-line editing in cells
formatstring-Format string for display

Integer Type

{
  "header": "Item Count",
  "binding": "itemCount",
  "type": "int",
  "width": 80,
  "filterable": true
}
PropertyTypeDefaultDescription
typestring-Set to int for integers
dataTypestringNumberWijmo DataType
formatstring-Number format (e.g., n0)
widthnumber80Typical width for numeric columns

Float and Currency Types

{
  "header": "Budget (USD)",
  "binding": "budgetAmount",
  "type": "currency",
  "width": 120,
  "format": "c2"
}
PropertyTypeDefaultDescription
typestring-float for decimals, currency for money
formatstring-n2 for float, c2 for currency
precisionnumber2Decimal places (currency only)
Currency columns use Polarion’s Currency type wrapper and maintain precise decimal handling for financial data. Float columns store unlimited decimal precision.

Date and Time Types

Date Type (Calendar Date Only)

{
  "header": "Due Date",
  "binding": "dueDate",
  "type": "date",
  "width": 100
}
PropertyTypeDefaultDescription
typestring-Set to date for calendar dates
formatstringyyyy-MM-ddISO date format
editorControlDatePickerCalendar input control

DateTime Type (Date + Time)

{
  "header": "Last Modified",
  "binding": "lastModifiedTime",
  "type": "datetime",
  "readOnly": true,
  "width": 160
}
PropertyTypeDefaultDescription
typestring-Set to datetime
formatstringyyyy-MM-dd HH:mmISO format with time
editorControlDateTimePickerCombined date/time input

Time Type (Time Only)

{
  "header": "Start Time",
  "binding": "startTime",
  "type": "time",
  "width": 80
}
PropertyTypeDefaultDescription
typestring-Set to time
formatstringHH:mm:ss24-hour time format

Duration Type

{
  "header": "Actual Effort (hours)",
  "binding": "actualEffort",
  "type": "duration",
  "width": 120
}
PropertyTypeDefaultDescription
typestring-Set to duration
storagestringString or IntStored as DurationTime or numeric value
formatstring-Display format (e.g., 0.0 hours)
Duration is stored as a string type in OData despite representing time values. Use numeric parsing when integrating with external systems.

Enumeration Types

Single Enum (Dropdown)

{
  "header": "Severity",
  "binding": "severity",
  "type": "enum:severity_levels",
  "width": 110,
  "showEnumDescription": true
}
PropertyTypeDefaultDescription
typestring-Format: enum:enumId where enumId is the Polarion enum type
showEnumDescriptionbooleanfalseShow enum option descriptions in dropdown
editorControlEnumComboBoxDropdown selection control
dataMapEnumDataMap-Maps enum IDs to display names

Multi-Enum (Multi-Select)

{
  "header": "Tags",
  "binding": "tags",
  "type": "multiEnum:tag_types",
  "width": 200
}
PropertyTypeDefaultDescription
typestring-Format: multiEnum:enumId
storagestringColon-separatedValues stored as id1:id2:id3
editorControlMultiEnumEditorMultiple selection with checkboxes
dataMapEnumDataMap-Maps each ID to display text
Multi-enum columns use colon (:) as a separator in the stored value, not commas. This distinguishes them from other comma-separated configurations.

Rating Type

{
  "header": "Occurrence",
  "binding": "occurrence",
  "type": "rating:occurrence_5",
  "width": 100
}
PropertyTypeDefaultDescription
typestring-Format: rating:ratingId
scalenumber5Number of rating options (typically 1-5)
editorControlRatingComboBoxRating selector
storageIntegerInt32Stored as integer value
{
  "header": "Linked Requirement",
  "binding": "requirement",
  "type": "itemLink",
  "id": "requirement",
  "width": 150,
  "canCreate": false
}
PropertyTypeDefaultDescription
typestring-Set to itemLink
idstring-Unique column ID used in nested column bindings
canCreatebooleantrueAllow creating new items from cell
editorControlAutoCompleteSuggestion-based work item selector
{
  "header": "Related Risks",
  "binding": "relatedRisks",
  "type": "multiItemLink",
  "id": "risks",
  "width": 200
}
PropertyTypeDefaultDescription
typestring-Set to multiItemLink
idstring-Column ID for referencing in nested bindings
storageJSONArrayStored as JSON array of linked items
editorControlMultiItemLinkEditorAdd/remove multiple items
{
  "header": "Mitigation",
  "binding": "task",
  "type": "taskLink",
  "id": "task",
  "width": 150
}
PropertyTypeDefaultDescription
typestring-Set to taskLink for downstream items
idstring-Column ID (typically task, issue, riskControl)
rolestringdefined in dataTypesLink role (e.g., mitigates)
editorControlAutoCompleteWork item selector
TaskLink columns are configured through both the column definition and the dataTypes section. The column’s id must match a key in dataTypes configuration.

Workflow and Status Types

Workflow Type (Status Picker)

{
  "header": "Status",
  "binding": "status",
  "type": "workflow",
  "width": 120,
  "readOnly": false
}
PropertyTypeDefaultDescription
typestring-Set to workflow for status transitions
editorControlStatusComboBoxWorkflow-aware status selector
storagestringStatus IDStored as status name

Nested Column Bindings

When using link columns (itemLink, taskLink, multiItemLink), you can display properties of linked items using dot notation:
{
  "header": "Requirement Title",
  "binding": "requirement.title",
  "type": "string",
  "readOnly": true,
  "width": 200
}
PatternDescriptionExample
linkId.fieldNameProperty of single linked itemrequirement.title, task.status
linkId.fieldNameFor multi-item links, concatenates all valuesrelatedRisks.title joins all titles
Nested properties supportedAll Polarion work item fields availabletask.assignees, requirement.priority
Nested columns from upstream (required) items are read-only by default. To enable editing, set readOnly: false in the column configuration, but be aware that changes affect the linked item globally.

Reference and User Types

Reference Type (User/Assignee)

{
  "header": "Assignee",
  "binding": "assignee",
  "type": "ref:users",
  "width": 120
}
PropertyTypeDefaultDescription
typestring-Format: ref:refId (e.g., ref:users)
editorControlAutoCompleteUser/reference selector
dataMapReferenceMap-Maps user IDs to display names

Formula and Computed Types

Formula Columns (Read-Only Calculations)

{
  "header": "RPN",
  "binding": "rpn",
  "formula": "commonRpn",
  "width": 80,
  "readOnly": true
}
PropertyTypeDefaultDescription
formulastring-References a named formula function
readOnlybooleantrueAlways read-only (computed)
storagevariable-Calculated on client-side
Formula functions are defined in the configuration’s formulas object:
"formulas": {
  "commonRpn": "function(info){ var value = info.item['occ']*info.item['det']*info.item['sev']; return value?value:null; }"
}

Server-Rendered Columns (Read-Only Server Computation)

{
  "header": "Computed Field",
  "binding": "computedValue",
  "serverRender": "customRenderer",
  "type": "string",
  "readOnly": true,
  "width": 150
}
PropertyTypeDefaultDescription
serverRenderstring-Server-side rendering script
typestringstringAlways becomes string type
readOnlybooleantrueAlways read-only

Type Inference and Auto-Detection

Nextedy RISKSHEET automatically detects column types from Polarion field definitions:
Polarion Field TypeAuto-Detected RISKSHEET Type
Textstring
TextRichFormatstring (HTML stripped)
Integerint
Decimalfloat
DateOnlydate
Datedatetime
TimeOnlytime
DurationTimeduration
IEnumOption / Enumenum:enumId
List\multiEnum:enumId
Booleanboolean
Userref:users
WorkItemitemLink
You can override auto-detection by explicitly specifying a type in the column configuration.

OData Type Mapping

When consuming RISKSHEET data via OData APIs, column types map to EDM primitive types:
RISKSHEET TypeOData EDM TypeExample Value
stringString"Sample text"
intInt6442
floatDouble3.14159
currencyDecimal1234.56
booleanBooleantrue
dateDate2025-12-31
datetimeDateTimeOffset2025-12-31T14:30:00Z
timeDateTimeOffset14:30:00
durationString"5.5h" or "330m"
enumString"critical"
multiEnumString"high:urgent"
ratingInt324

Column Type Decision Matrix

Best Practices

Use specific types (date, int, currency) rather than string to enable proper sorting, filtering, and validation in the UI.
For nested bindings from linked items, use the link column’s id value to build the binding path: if your taskLink column has id: "task", reference task properties as task.title, task.status, etc.
System fields are always read-only: id, type, status, project, outlineNumber, and author. Cannot be modified through RISKSHEET.
Multi-item link columns store their values as JSON arrays. Ensure your integration code parses this correctly when syncing with external systems.
KB ArticlesSupport TicketsSource Code
  • risksheet.json
  • PolarionAppConfigManager.java
  • SheetConstants.ts
  • ColumnTypeManager.java
  • AppConfig.ts