Dynamic Panel Schema Properties
A panel that allows respondents to add multiple instances of a group of questions dynamically.
Element type: paneldynamic
Key properties: 32
Generation Hints
Section titled “Generation Hints”- Aliases: repeating section, repeatable group, add another.
- Use when: respondents add repeated groups of questions.
- Recommended properties:
type,name,title,templateElements,panelCount,minPanelCount,maxPanelCount.
{ "type": "paneldynamic", "name": "dependents", "title": "Dependents", "templateElements": [{ "type": "text", "name": "name", "title": "Name" }] }Key Properties
Section titled “Key Properties”templateElements
Section titled “templateElements”- Type:
question[] - Default:
[]
Questions and panels that appear inside each repeated panel instance. Use regular question schemas here, each with a stable name.
panelCount
Section titled “panelCount”- Type:
number - Default:
0 - Allowed values:
0,1,2,3,4,5,6,7,8,9,10
The number of panels in Dynamic Panel.
minPanelCount
Section titled “minPanelCount”- Type:
number - Default:
0
A minimum number of panels in Dynamic Panel. Users cannot delete panels if panelCount equals minPanelCount.
maxPanelCount
Section titled “maxPanelCount”- Type:
number - Default:
100
A maximum number of panels in Dynamic Panel. Users cannot add new panels if panelCount equals maxPanelCount.
allowAddPanel
Section titled “allowAddPanel”- Type:
boolean - Default:
true
Specifies whether users are allowed to add new panels.
allowRemovePanel
Section titled “allowRemovePanel”- Type:
boolean - Default:
true
Specifies whether users are allowed to delete panels.
addPanelText
Section titled “addPanelText”- Type:
string - Default:
— - Localizable: Yes
A caption for the Add Panel button.
removePanelText
Section titled “removePanelText”- Type:
string - Default:
— - Localizable: Yes
A caption for the Remove Panel button.
newPanelPosition
Section titled “newPanelPosition”- Type:
string - Default:
"last" - Allowed values:
next,last
Specifies the position of newly added panels.
displayMode
Section titled “displayMode”- Type:
string - Default:
"list" - Allowed values:
list,carousel,tab
Specifies how to display panels.
templateTitle
Section titled “templateTitle”- Type:
text - Default:
— - Localizable: Yes
A template for panel titles.
templateDescription
Section titled “templateDescription”- Type:
text - Default:
— - Localizable: Yes
A template for panel descriptions.
templateVisibleIf
Section titled “templateVisibleIf”- Type:
expression - Default:
—
A Boolean expression that is evaluated against each panel. If the expression evaluates to false, the panel becomes hidden.
templateTabTitle
Section titled “templateTabTitle”- Type:
string - Default:
— - Localizable: Yes
A template for tab titles. Applies when displayMode is “tab”.
tabTitlePlaceholder
Section titled “tabTitlePlaceholder”- Type:
string - Default:
— - Localizable: Yes
A placeholder for tab titles that applies when the templateTabTitle expression doesn’t produce a meaningful value.
tabAlign
Section titled “tabAlign”- Type:
string - Default:
"center" - Allowed values:
left,center,right
showProgressBar
Section titled “showProgressBar”- Type:
boolean - Default:
true
Specifies whether to display the progress bar. Applies only if displayMode is “carousel”.
progressBarLocation
Section titled “progressBarLocation”- Type:
string - Default:
"top" - Allowed values:
top,bottom,topBottom
Specifies the alignment of the progress bar relative to the currently displayed panel. Applies only if displayMode is “carousel”.
showQuestionNumbers
Section titled “showQuestionNumbers”- Type:
string - Default:
"off" - Allowed values:
default,onpanel,recursive,off
Specifies whether to display form element numbers within the dynamic panel and how to calculate them.
templateQuestionTitleLocation
Section titled “templateQuestionTitleLocation”- Type:
string - Default:
"default" - Allowed values:
default,top,bottom,left
Gets or sets the location of question titles relative to their input fields.
templateQuestionTitleWidth
Section titled “templateQuestionTitleWidth”- Type:
string - Default:
—
Sets consistent width for question titles in CSS values. Applies only when templateQuestionTitleLocation evaluates to “left”.
copyDefaultValueFromLastEntry
Section titled “copyDefaultValueFromLastEntry”- Type:
boolean - Default:
—
Specifies whether default values for a new panel should be copied from the last panel.
defaultPanelValue
Section titled “defaultPanelValue”- Type:
panelvalue - Default:
—
If it is not empty, then this value is set to every new panel, including panels created initially, unless the defaultValue is not empty
keyName
Section titled “keyName”- Type:
string - Default:
—
Specifies a key question. Set this property to the name of a question used in the template, and Dynamic Panel will display keyDuplicationError if a user tries to enter a duplicate value in this question.
keyDuplicationError
Section titled “keyDuplicationError”- Type:
string - Default:
— - Localizable: Yes
An error message displayed when users enter a duplicate value into a question that accepts only unique values (isUnique is set to true or keyName is specified).
noEntriesText
Section titled “noEntriesText”- Type:
text - Default:
— - Localizable: Yes
A text displayed when Dynamic Panel contains no entries.
confirmDelete
Section titled “confirmDelete”- Type:
boolean - Default:
—
Specifies whether to display a confirmation dialog when a respondent wants to delete a panel.
confirmDeleteText
Section titled “confirmDeleteText”- Type:
string - Default:
— - Localizable: Yes
A message displayed in a confirmation dialog that appears when a respondent wants to delete a panel.
removePanelButtonLocation
Section titled “removePanelButtonLocation”- Type:
string - Default:
"bottom" - Allowed values:
bottom,right
Specifies the location of the Remove Panel button relative to panel content.
prevPanelText
Section titled “prevPanelText”- Type:
string - Default:
— - Localizable: Yes
A caption for the Previous button. Applies only if displayMode is different from “list”.
nextPanelText
Section titled “nextPanelText”- Type:
string - Default:
— - Localizable: Yes
A caption for the Next button. Applies only if displayMode is different from “list”.
panelsState
Section titled “panelsState”- Type:
string - Default:
"default" - Allowed values:
default,collapsed,expanded,firstExpanded
Specifies whether users can expand and collapse panels. Applies if displayMode is “list” and the templateTitle property is specified.
Shared Properties
Section titled “Shared Properties”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 Panel and Shared Question Properties for fields used by
templateElements.