Appian Community and Appian Academy are being upgraded. From July 24–August 3, the Appian Community will be in read-only mode. During this time, the site will be read-only and user registration will be disabled. We apologize for any inconvenience this may cause, but a more secure, stable, and performant Community experience is coming soon!

The new Appian Community launches August 3, followed by Appian Academy on August 7. During the migration, Appian Community Edition, Appian Academy, Documentation, Certifications, Instructor-led Customer Training, Partner Sales Training & Accreditation, and Forum (for Appian Partners and Customers only) will remain available.

Preserve the selected grid value when a row is double-clicked.

Certified Associate Developer

I'm trying to simulate a double-click-like behavior in a read-only grid using a!gridField_24r3. The goal is to return a selected row's value when a user clicks on a field grid value twice.

I am able to save the value of the grid after selecting it for the very first time by using fv!deselectedRows. Refer below code:

a!save(
                local!previousSelectedRow,
                if(
                  length(local!currentSelectedRow) = 0,
                  index(fv!deselectedRows, 1, null),
                  local!previousSelectedRow
                )
              )

Now within the parameter "selectionvalue" of a!gridField_24r3, I am trying to manipulate the value it holds with below logic where I put a condition if there is no selection made --> ri!selected will be empty but we have a value store within local!previousSelectedrow then we should get the id of that grid returned.

if(
  a!isNotNullOrEmpty(ri!selected),
  ri!selected, 
  if(
    a!isNotNullOrEmpty(tointeger(property(local!previousSelectedRow, "id", null))),
    property(local!previousSelectedRow, "id", null),
    null
  )
)

But selectionvalue is not getting updated. Its only holding the values on selection. Could anyone guide me here.

  Discussion posts and replies are publicly visible

Parents
  • +1
    Certified Lead Developer

    SelectionValue is read-only - it only displays the current selection state. You can't use it to force selections. When a user deselects, Appian clears the selection internally and your conditional logic in selectionValue won't override this.

    Use selectionSaveInto to detect the double-click pattern:

    selectionSaveInto: {
      a!save(ri!selected, save!value),
      if(
        and(
          length(save!value) = 0,  /* Deselected */
          length(fv!deselectedRows) = 1,  /* Single row deselected */
          fv!deselectedRows[1] = local!lastSelectedRow  /* Same row */
        ),
        /* Trigger double-click action */
        a!save(local!doubleClickedRow, fv!deselectedRows[1]),
        a!save(local!lastSelectedRow, fv!selectedRows[1])
      )
    }

Reply
  • +1
    Certified Lead Developer

    SelectionValue is read-only - it only displays the current selection state. You can't use it to force selections. When a user deselects, Appian clears the selection internally and your conditional logic in selectionValue won't override this.

    Use selectionSaveInto to detect the double-click pattern:

    selectionSaveInto: {
      a!save(ri!selected, save!value),
      if(
        and(
          length(save!value) = 0,  /* Deselected */
          length(fv!deselectedRows) = 1,  /* Single row deselected */
          fv!deselectedRows[1] = local!lastSelectedRow  /* Same row */
        ),
        /* Trigger double-click action */
        a!save(local!doubleClickedRow, fv!deselectedRows[1]),
        a!save(local!lastSelectedRow, fv!selectedRows[1])
      )
    }

Children