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 ID Purpose Editor Data Storage Example Binding stringPlain text fields Text input String value title, descriptionintInteger numbers Numeric input Integer (Int64) priority, countfloatDecimal numbers Numeric input Double precision weight, percentagecurrencyMoney amounts Numeric input Decimal with precision cost, budgetbooleanTrue/false toggle Checkbox Boolean isActive, approveddateCalendar date only Date picker Date (yyyy-MM-dd) dueDate, createdDatedatetimeDate and time DateTime picker DateTimeOffset timestamp, modifiedTimetimeTime only Time picker TimeOnly (hh:mm:ss) startTime, endTimedurationTime spans Text input String or numeric estimatedHours, actualDurationenum:enumIdSingle selection from list Dropdown/Combobox Enum ID string severity:critical_major_minor, statusmultiEnum:enumIdMultiple selections from list Multi-select editor Colon-separated IDs tags:type_priority_arearating:ratingIdNumeric rating scale Rating combobox Integer 1-5 rating:occurrence_5, likelihood
Text and Numeric Types
String Type
{
"header" : "Description" ,
"id" : "description" ,
"binding" : "description" ,
"type" : "string" ,
"width" : 250 ,
"wordWrap" : true ,
"multiLine" : true
}
Property Type Default Description typestring stringColumn data type identifier bindingstring - Polarion field binding path widthnumber auto Column width in pixels minWidthnumber - Minimum width before truncation readOnlyboolean false Prevents user editing wordWrapboolean true Enables text wrapping multiLineboolean true Allows multi-line editing in cells formatstring - Format string for display
Integer Type
{
"header" : "Item Count" ,
"binding" : "itemCount" ,
"type" : "int" ,
"width" : 80 ,
"filterable" : true
}
Property Type Default Description typestring - Set to int for integers dataTypestring NumberWijmo DataType formatstring - Number format (e.g., n0) widthnumber 80 Typical width for numeric columns
Float and Currency Types
{
"header" : "Budget (USD)" ,
"binding" : "budgetAmount" ,
"type" : "currency" ,
"width" : 120 ,
"format" : "c2"
}
Property Type Default Description typestring - float for decimals, currency for moneyformatstring - n2 for float, c2 for currencyprecisionnumber 2 Decimal 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
}
Property Type Default Description typestring - Set to date for calendar dates formatstring yyyy-MM-ddISO date format editorControl DatePicker Calendar input control
DateTime Type (Date + Time)
{
"header" : "Last Modified" ,
"binding" : "lastModifiedTime" ,
"type" : "datetime" ,
"readOnly" : true ,
"width" : 160
}
Property Type Default Description typestring - Set to datetime formatstring yyyy-MM-dd HH:mmISO format with time editorControl DateTimePicker Combined date/time input
Time Type (Time Only)
{
"header" : "Start Time" ,
"binding" : "startTime" ,
"type" : "time" ,
"width" : 80
}
Property Type Default Description typestring - Set to time formatstring HH:mm:ss24-hour time format
Duration Type
{
"header" : "Actual Effort (hours)" ,
"binding" : "actualEffort" ,
"type" : "duration" ,
"width" : 120
}
Property Type Default Description typestring - Set to duration storagestring String or Int Stored 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
}
Property Type Default Description typestring - Format: enum:enumId where enumId is the Polarion enum type showEnumDescriptionboolean false Show enum option descriptions in dropdown editorControl EnumComboBox Dropdown selection control dataMapEnumDataMap - Maps enum IDs to display names
Multi-Enum (Multi-Select)
{
"header" : "Tags" ,
"binding" : "tags" ,
"type" : "multiEnum:tag_types" ,
"width" : 200
}
Property Type Default Description typestring - Format: multiEnum:enumId storagestring Colon-separated Values stored as id1:id2:id3 editorControl MultiEnumEditor Multiple 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
}
Property Type Default Description typestring - Format: rating:ratingId scalenumber 5 Number of rating options (typically 1-5) editorControl RatingComboBox Rating selector storageInteger Int32 Stored as integer value
Work Item Link Types
Item Link (Single Link)
{
"header" : "Linked Requirement" ,
"binding" : "requirement" ,
"type" : "itemLink" ,
"id" : "requirement" ,
"width" : 150 ,
"canCreate" : false
}
Property Type Default Description typestring - Set to itemLink idstring - Unique column ID used in nested column bindings canCreateboolean true Allow creating new items from cell editorControl AutoComplete Suggestion-based work item selector
Multi-Item Link (Multiple Links)
{
"header" : "Related Risks" ,
"binding" : "relatedRisks" ,
"type" : "multiItemLink" ,
"id" : "risks" ,
"width" : 200
}
Property Type Default Description typestring - Set to multiItemLink idstring - Column ID for referencing in nested bindings storageJSON Array Stored as JSON array of linked items editorControl MultiItemLinkEditor Add/remove multiple items
Task Link (Mitigation/Downstream Items)
{
"header" : "Mitigation" ,
"binding" : "task" ,
"type" : "taskLink" ,
"id" : "task" ,
"width" : 150
}
Property Type Default Description typestring - Set to taskLink for downstream items idstring - Column ID (typically task, issue, riskControl) rolestring defined in dataTypes Link role (e.g., mitigates) editorControl AutoComplete Work 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
}
Property Type Default Description typestring - Set to workflow for status transitions editorControl StatusComboBox Workflow-aware status selector storagestring Status ID Stored 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
}
Pattern Description Example linkId.fieldNameProperty of single linked item requirement.title, task.statuslinkId.fieldNameFor multi-item links, concatenates all values relatedRisks.title joins all titlesNested properties supported All Polarion work item fields available task.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
}
Property Type Default Description typestring - Format: ref:refId (e.g., ref:users) editorControl AutoComplete User/reference selector dataMapReferenceMap - Maps user IDs to display names
{
"header" : "RPN" ,
"binding" : "rpn" ,
"formula" : "commonRpn" ,
"width" : 80 ,
"readOnly" : true
}
Property Type Default Description formulastring - References a named formula function readOnlyboolean true Always 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
}
Property Type Default Description serverRenderstring - Server-side rendering script typestring string Always becomes string type readOnlyboolean true Always read-only
Type Inference and Auto-Detection
Nextedy RISKSHEET automatically detects column types from Polarion field definitions:
Polarion Field Type Auto-Detected RISKSHEET Type Text stringTextRichFormat string (HTML stripped)Integer intDecimal floatDateOnly dateDate datetimeTimeOnly timeDurationTime durationIEnumOption / Enum enum:enumIdList\ multiEnum:enumIdBoolean booleanUser ref:usersWorkItem itemLink
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 Type OData EDM Type Example Value stringString "Sample text"intInt64 42floatDouble 3.14159currencyDecimal 1234.56booleanBoolean truedateDate 2025-12-31datetimeDateTimeOffset 2025-12-31T14:30:00ZtimeDateTimeOffset 14:30:00durationString "5.5h" or "330m"enumString "critical"multiEnumString "high:urgent"ratingInt32 4
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 Articles Support Tickets Source Code
risksheet.json
PolarionAppConfigManager.java
SheetConstants.ts
ColumnTypeManager.java
AppConfig.ts