Skip to content

Dynamic Matrix Question Schema Properties

A matrix table where respondents can dynamically add and remove rows.

Element type: matrixdynamic Key properties: 26

  • Aliases: dynamic table, repeatable rows, editable grid.
  • Use when: respondents add rows to a structured table.
  • Recommended properties: type, name, title, columns, rowCount, minRowCount, maxRowCount.
{ "type": "matrixdynamic", "name": "items", "title": "Line items", "columns": [{ "name": "description", "cellType": "text" }, { "name": "amount", "cellType": "text", "inputType": "number" }] }

  • Type: matrixdropdowncolumns
  • Default:

An array of matrix columns.

  • Type: string
  • Default: "dropdown"
  • Allowed values: dropdown, checkbox, radiogroup, tagbox, text, comment, boolean, expression, rating, slider

Specifies the type of matrix cells. You can override this property for individual columns.

  • Type: itemvalue[]
  • Default: []

Gets or sets choice items for Dropdown, Checkbox, and Radiogroup matrix cells. You can override this property for individual columns.

  • Type: number
  • Default: 2

The number of rows in the matrix.

  • Type: number
  • Default: 0

A minimum number of rows in the matrix. Users cannot delete rows if rowCount equals minRowCount.

  • Type: number
  • Default: 1000

A maximum number of rows in the matrix. Users cannot add new rows if rowCount equals maxRowCount.

  • Type: boolean
  • Default: true

Specifies whether users are allowed to add new rows.

  • Type: boolean
  • Default: true

Specifies whether users are allowed to delete rows.

  • Type: switch
  • Default:

Specifies whether users can drag and drop matrix rows to reorder them. Applies only if transposeData is false.

  • Type: string
  • Default:
  • Localizable: Yes

A caption for the Add Row button.

  • Type: string
  • Default:
  • Localizable: Yes

Use this property to change the default value of remove row button text.

  • Type: string
  • Default: "default"
  • Allowed values: default, top, bottom, topBottom

Specifies the location of the Add Row button.

  • Type: boolean
  • Default:

Specifies whether to display a confirmation dialog when a respondent wants to delete a row.

  • Type: string
  • Default:
  • Localizable: Yes

A message displayed in a confirmation dialog that appears when a respondent wants to delete a row.

  • Type: boolean
  • Default:

Specifies whether default values for a new row/column should be copied from the last row/column.

  • Type: rowvalue
  • Default:

If it is not empty, then this value is set to every new row, including rows created initially, unless the defaultValue is not empty

  • Type: string
  • Default:

Specifies a key column. Set this property to a column name, and the question will display keyDuplicationError if a user tries to enter a duplicate value in this column.

  • Type: string
  • Default:
  • Localizable: Yes

An error message displayed when users enter a duplicate value into a column that accepts only unique values (isUnique is set to true or keyName is specified).

  • Type: text
  • Default:
  • Localizable: Yes

A message displayed when the matrix does not contain any rows. Applies only if hideColumnsIfEmpty is enabled.

  • Type: boolean
  • Default:

Specifies whether to hide columns when the matrix does not contain any rows. If you enable this property, the matrix displays the noRowsText message and the Add Row button.

  • Type: condition
  • Default:

A Boolean expression that is evaluated against each matrix row. If the expression evaluates to false, the row becomes hidden.

  • Type: boolean
  • Default: true

Specifies whether to display the table header that contains column captions.

  • Type: string
  • Default: "none"
  • Allowed values: none, underRow, underRowSingle

Specifies the location of detail sections.

  • Type: boolean
  • Default:

Specifies whether to expand the detail section immediately when a respondent adds a new row.

  • Type: boolean
  • Default:

Specifies whether to display columns as rows and rows as columns.

  • Type: string
  • Default: "middle"
  • Allowed values: top, middle

Aligns matrix cell content in the vertical direction.

This page lists only properties that are specific to this element type or especially important for generation.

  • Use Shared Question Properties for common fields such as name, title, description, isRequired, requiredIf, visibleIf, enableIf, readOnly, defaultValue, validators, width, and layout options.
  • Use Matrix Row and Matrix Column for rows and columns object shapes.