> ## Documentation Index
> Fetch the complete documentation index at: https://learn.nextedy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Column Types

> Nextedy RISKSHEET supports a wide range of column types for displaying and editing risk analysis data in the interactive grid.

export const LastReviewed = ({date}) => {
  if (!date) return null;
  const formatted = new Date(`${date}T00:00:00Z`).toLocaleDateString("en-US", {
    year: "numeric",
    month: "long",
    day: "numeric",
    timeZone: "UTC"
  });
  return <p className="mt-10 text-sm text-gray-400 dark:text-zinc-500 not-prose">
      Last reviewed on {formatted}
    </p>;
};

## Column Type Reference Pages

[**Column Type Reference**](/risksheet/reference/columns/column-types) -- Overview of all supported column types with their configuration properties, type identifiers, and auto-detection behavior

[**Data Types**](/risksheet/reference/columns/data-types) -- Mapping between Risksheet column types, Polarion field types, and data serialization formats

[**Enum Columns**](/risksheet/reference/columns/enum-columns) -- Single-select enumeration columns with custom or Polarion-defined option lists, using the `enum:<enumId>` type syntax

[**Multi-Enum Columns**](/risksheet/reference/columns/multi-enum-columns) -- Multi-select enumeration columns for fields that accept multiple values, rendered as chip/tag lists

[**Item Link Columns**](/risksheet/reference/columns/item-link-columns) -- Columns linking to single upstream or downstream work items with autocomplete and inline creation

[**Multi-Item Link Columns**](/risksheet/reference/columns/multi-item-link-columns) -- Columns linking to multiple work items with sub-column support for displaying linked item properties

[**Task Link Columns**](/risksheet/reference/columns/task-link-columns) -- Columns for linking to downstream mitigation task work items with task ID generation and uniqueness validation

[**Calculated Columns**](/risksheet/reference/columns/calculated-columns) -- Formula-driven columns with client-side JavaScript calculations, automatically read-only

[**Server Render Columns**](/risksheet/reference/columns/server-render-columns) -- Columns rendered server-side using Velocity templates for complex data transformations

[**User Reference Columns**](/risksheet/reference/columns/user-reference-columns) -- Columns for displaying and editing user assignments with Polarion user lookup

[**Date and Time Columns**](/risksheet/reference/columns/date-time-columns) -- Date, datetime, and time column types with configurable format strings and locale-aware parsing

[**Rich Text Fields**](/risksheet/reference/columns/rich-text-fields) -- Columns displaying and editing rich text (HTML) content with known editing limitations

## Column Type Categories

| Category          | Types                                                                               |
| ----------------- | ----------------------------------------------------------------------------------- |
| **Basic Types**   | `string`, `int`, `float`, `boolean`, `date`, `datetime`, `time`, `currency`, `text` |
| **Link Types**    | `itemLink`, `multiItemLink`, `taskLink`                                             |
| **Enum Types**    | `enum:<id>`, `multiEnum:<id>`, `rating:<id>`                                        |
| **Special Types** | `ref:user` (user reference), `richText`                                             |

<Note>
  `formula` and `serverRender` are not column types -- they are column **properties** that produce computed values. A computed column keeps a normal `type` (for example `int`) and adds a `formula` or `serverRender` property. See [Calculated Columns](/risksheet/reference/columns/calculated-columns) and [Server Render Columns](/risksheet/reference/columns/server-render-columns).
</Note>

<Tip>
  You do not always need to set the `type` property explicitly. Risksheet auto-detects the type from the Polarion field binding for standard fields. However, for sub-columns of linked items, custom enums, and rating columns, you must specify the type manually. See [Column Type Reference](/risksheet/reference/columns/column-types) for the full auto-detection rules.
</Tip>

## Key Column Properties

Every column type shares these common configuration properties:

| Property      | Default        | Description                                                                                                                                                                                                  |
| ------------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `id`          | auto-generated | Unique identifier for the column                                                                                                                                                                             |
| `bindings`    | `col.id`       | Polarion field ID bound to the column                                                                                                                                                                        |
| `header`      | `col.header`   | Display text in the column header                                                                                                                                                                            |
| `type`        | auto-detected  | Column type determining editor and behavior                                                                                                                                                                  |
| `width`       | auto           | Column width in pixels                                                                                                                                                                                       |
| `readOnly`    | `false`        | Whether cells are editable                                                                                                                                                                                   |
| `visible`     | `true`         | Whether the column is displayed                                                                                                                                                                              |
| `level`       | `1`            | Visual hierarchy level (1-indexed; `level: 1` maps to `levels[0]`)                                                                                                                                           |
| `filterable`  | `true`         | Whether users can filter by this column                                                                                                                                                                      |
| `cellCss`     | none           | Static CSS class applied to every cell in the column (defined in the `styles` block). Sibling of `cellRenderer`, which instead names a `cellDecorators` function that conditionally toggles classes per cell |
| `headerGroup` | none           | Group label for multi-level headers                                                                                                                                                                          |

## Format Strings

Numeric and date columns accept a `format` property that controls how values are rendered in the grid and in exports. The format string patterns below come from the Nextedy support portal reference (KB article #48001173763).

### Numeric Format Strings

Numeric formats use a letter (case-insensitive) optionally followed by a digit indicating the number of decimal places or width.

| Pattern | Meaning                                                        | Example input         | Example output |
| ------- | -------------------------------------------------------------- | --------------------- | -------------- |
| `n*`    | Number with thousands separator and `*` decimal places         | `1234.5678` with `n2` | `1,234.57`     |
| `f*`    | Fixed-point with `*` decimal places (no thousands separator)   | `1234.5678` with `f2` | `1234.57`      |
| `g*`    | General — shortest of fixed or scientific notation             | `0.0001234` with `g3` | `0.000123`     |
| `d*`    | Decimal integer, zero-padded to `*` digits                     | `42` with `d4`        | `0042`         |
| `x*`    | Hexadecimal, zero-padded to `*` digits                         | `255` with `x4`       | `00ff`         |
| `c*`    | Currency with `*` decimal places (uses the configured culture) | `1234.5` with `c2`    | `$1,234.50`    |
| `p*`    | Percentage with `*` decimal places                             | `0.1234` with `p1`    | `12.3%`        |

The asterisk (`*`) is a digit specifying precision or width. Omitting the digit uses the default for that pattern.

### Date and Time Format Strings

Date and time formats use a single letter to select a built-in pattern. Output is localized according to the column's configured culture.

| Pattern | Meaning                | Example (en culture)                |
| ------- | ---------------------- | ----------------------------------- |
| `d`     | Short date             | `5/16/2026`                         |
| `D`     | Long date              | `Saturday, May 16, 2026`            |
| `f`     | Long date + short time | `Saturday, May 16, 2026 9:30 AM`    |
| `F`     | Long date + long time  | `Saturday, May 16, 2026 9:30:00 AM` |
| `t`     | Short time             | `9:30 AM`                           |
| `T`     | Long time              | `9:30:00 AM`                        |

Configure the format on the column definition, for example:

```yaml theme={null}
columns:
  - id: detectedOn
    header: Detected
    bindings: detectedOn
    type: date
    format: d
  - id: rpn
    header: RPN
    bindings: rpn
    type: float
    format: n2
```

## Related Sections

* [Configuration Properties Index](/risksheet/reference/configuration/properties-index) -- full property reference including all column properties
* [Field Mapping](/risksheet/reference/fields/field-mapping) -- how Polarion fields map to Risksheet column bindings
* [Formulas](/risksheet/reference/formulas/index) -- formula syntax for calculated columns
* [Styling](/risksheet/reference/styling/index) -- conditional formatting and cell decorators for column styling
* [Column Configuration](/risksheet/guides/columns/index) -- how-to guides for common column tasks

<LastReviewed date="2026-06-24" />
