Skip to content

visibleIf expression is not updated for matrix rows and columns when a source question's name is changed #6910

@JaneSjs

Description

@JaneSjs

T23355 - VisibleIf expressions on Matrix rows are not updated after referenced question name changes.
https://surveyjs.answerdesk.io/internal/ticket/details/T23355


To reproduce the issue, setup the visibleIf condition for a matrix row and column and then update the source question's name. You'll see that for regular questions, the visibleIf expression is updated to use the new question name. However, for matrix rows and columns, the visibleIf expression contains the old question name.

20.05.2025_15.32.50_REC.mp4

Initial JSON:

{
  "title": "Visibleif not updated on matrix rows",
  "pages": [
    {
      "name": "page1",
      "elements": [
        {
          "type": "radiogroup",
          "name": "originalTrigger",
          "choices": [
            "Yes",
            "No"
          ]
        },
        {
          "type": "text",
          "name": "question1",
          "visibleIf": "{originalTrigger} = 'Yes'"
        },
        {
          "type": "matrix",
          "name": "question2",
          "columns": [
            {
              "value": "Column 1",
              "visibleIf": "{originalTrigger} = 'Yes'"
            },
            {
              "value": "Column 2",
              "visibleIf": "{originalTrigger} = 'Yes'"
            },
            "Column 3"
          ],
          "rows": [
            {
              "value": "Row 1",
              "visibleIf": "{originalTrigger} = 'Yes'"
            },
            "Row 2"
          ]
        }
      ]
    }
  ],
  "headerView": "advanced"
}

Updated JSON:

{
  "title": "Visibleif not updated on matrix rows",
  "pages": [
    {
      "name": "page1",
      "elements": [
        {
          "type": "radiogroup",
          "name": "newName",
          "choices": [
            "Yes",
            "No"
          ]
        },
        {
          "type": "text",
          "name": "question1",
          "visibleIf": "{newName} = 'Yes'"
        },
        {
          "type": "matrix",
          "name": "question2",
          "columns": [
            {
              "value": "Column 1",
              "visibleIf": "{originalTrigger} = 'Yes'"
            },
            {
              "value": "Column 2",
              "visibleIf": "{originalTrigger} = 'Yes'"
            },
            "Column 3"
          ],
          "rows": [
            {
              "value": "Row 1",
              "visibleIf": "{originalTrigger} = 'Yes'"
            },
            "Row 2"
          ]
        }
      ]
    }
  ],
  "headerView": "advanced"
}

Metadata

Metadata

Assignees

Labels

buguser issueAn issue or bug reported by users.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions