Skip to main content
This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.
LinkedIn
Copied!

Table of Contents

Repeating grids disregard button Disable When condition

Symptom

Repeat Grid layouts with conditional buttons disregard the specified button condition and enable all buttons in all rows of all pages of the grid. Your application has a work form designed with a paginated Repeat Grid in which the first column of the grid contains the Check Box UI element with an ON CHANGE event set to Post Value, and the last column of the grid contains a button (for example, a button labeled Remove) with a Disabled condition specified for it. Every page of the grid is designed with these columns and, by default, no check box is selected.

When you select the check box in one row of the grid, you expect the button in that row alone to be enabled because the pxCheckbox UI control has the event ON CHANGE set to Post Value. Instead, all of the buttons in all the rows of the grid are enabled. This behavior is unexpected.

Example

Here is an example of the problem.

  1. In this Repeat Grid design form, select a check box of any row in the grid.
    Repeat Grid default with check box and buttons disabled in all rows.
  2. The Remove button is enabled for all rows of Page 1 of the grid. This is unexpected behavior. The Remove button should be enabled only for the selected row of the grid, BBB.
    Repeat Grid with check one row button, all rows buttons enabled
  3. Go to Page 2 of the grid and again selected a check box for one row. You see the same unexpected results: the Remove button is enabled for all rows of the grid when it should be enabled only for the row selected, namely, FFF.
    Repeat Grid next page, same problem

Explanation

The logic for condition handlers in older Pega-provided UI elements is based on the ID value of the property. Therefore, in the Repeat Grid, the Disable condition always fails. Use the Disable When condition on the server instead of the client, which prevents the older logic for condition handlers from being processed.

Solution

Include the button that needs to be enabled in its own section. Then, specify a Refresh When condition on the button based on when the check box property changes. The following screens illustrate how to do this:
Step 1 Layout, Repeat Grid Check Box

Step 2 Section, Enable button

Step 3 When condition EnableButton

Step 4 Layout, Button visible Always

After you perform this local change, you can expect to see the following results at run time. The following screens show that only one row in the grid has a button enabled:
Result 1, Buttons not enabled (default)

Result 2, Selected button enabled, one row

Did you find this content helpful?

Related Content

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Ready to crush complexity?

Experience the benefits of Pega Community when you log in.

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us