Skip to content

Matrix Dropdown Question Schema Properties

A multi-column matrix where each cell contains a dropdown or other input.

Element type: matrixdropdown Key properties: 22

  • Aliases: matrix with inputs, grid inputs, table question.
  • Use when: each row needs one or more typed cells or dropdown cells.
  • Recommended properties: type, name, title, rows, columns, cellType.
{ "type": "matrixdropdown", "name": "budget", "title": "Budget by item", "rows": ["Software", "Services"], "columns": [{ "name": "amount", "title": "Amount", "cellType": "text", "inputType": "number" }] }

  • Type: itemvalue[]
  • Default: []

An array of matrix rows.

  • 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: string
  • Default:
  • Localizable: Yes

A placeholder for Dropdown matrix cells.

  • Type: condition
  • Default:

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

  • Type: condition
  • Default:

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

  • Type: string
  • Default: "initial"
  • Allowed values: initial, random

Specifies a sort order for matrix rows. Use "random" to randomize Multi-Select Matrix rows each time the survey is loaded.

  • Type: string
  • Default: 0
  • Allowed values: 0, 1, 2, 3, 4

Specifies the number of columns in Radiogroup and Checkbox cells.

  • Type: string
  • Default:

Minimum column width in CSS values.

  • Type: string
  • Default:

A width for the column that displays row titles (first column). Accepts CSS values.

  • Type: boolean
  • Default: true

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

  • Type: boolean
  • Default: false

Specifies whether to apply shading to alternate matrix rows.

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

Specifies the error message position relative to matrix cells.

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

Specifies the location of detail sections.

  • Type: element[]

Questions or panels displayed inside each row’s detail section. Set detailPanelMode to underRow or underRowSingle to show these elements.

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

Specifies the error message position for questions within detail sections.

  • 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: string
  • Default:
  • Localizable: Yes

A title template that applies when the survey is in input-per-page mode.

  • Type: string
  • Default:
  • Localizable: Yes

A title for the total row. Applies if at least one column displays total values.

  • 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.

Use detail panels when each matrix row needs extra fields that would make the main table too wide.

{
"type": "matrixdropdown",
"name": "riskAssessment",
"title": "Risk assessment",
"rows": ["Security", "Compliance", "Operations"],
"columns": [
{ "name": "likelihood", "title": "Likelihood", "cellType": "rating", "rateMin": 1, "rateMax": 5 },
{ "name": "impact", "title": "Impact", "cellType": "rating", "rateMin": 1, "rateMax": 5 }
],
"detailPanelMode": "underRowSingle",
"detailElements": [
{ "type": "comment", "name": "notes", "title": "Notes for {rowTitle}" },
{ "type": "text", "name": "owner", "title": "Owner" }
]
}