Question
how to filter a dropdown by the selection in another dropdown
@In 6.x, you could filter one Dynamic Select by the selection made in another by passing a parameter, as in the screenshot below. The reference was done by HTML Element ID, which easily dodged the potential complexity of referencing from one page that could be embedded several levels deep below pyWorkPage to another - especially when the two properties are embedded in Lists/Groups.
In Pega 7, Dynamic Selects were deprecated in favor of Dropdown controls, which do not seem to have this exact feature. There are other ways to do this, but none of them matches the missing feature. The following table compares the methods of doing this sort of filtering and makes plain what appears (to my eyes) to be missing:
@In 6.x, you could filter one Dynamic Select by the selection made in another by passing a parameter, as in the screenshot below. The reference was done by HTML Element ID, which easily dodged the potential complexity of referencing from one page that could be embedded several levels deep below pyWorkPage to another - especially when the two properties are embedded in Lists/Groups.
In Pega 7, Dynamic Selects were deprecated in favor of Dropdown controls, which do not seem to have this exact feature. There are other ways to do this, but none of them matches the missing feature. The following table compares the methods of doing this sort of filtering and makes plain what appears (to my eyes) to be missing:
Strategy | Pega 6 | Pega 7 | How it works | Accomplishes the same thing? |
---|---|---|---|---|
Original method: take a parameter from a Dynamic Select identified by a HTML Element ID | Yes | No | Using the Element ID bypasses the challenge of referencing one property from another. That referencing gets quite difficult if the two properties are in different data classes and nested a couple levels deep in collections (Lists or Groups) | |
Clipboard Page or Data Page | No | Yes | This is a nice new feature in Pega 7. Ensure that the first Dropdown sets a property that can be referenced from the second Dropdown. |
No. The hard part is the referencing. Suppose the page contexts of the two Dropdowns are like this: 1) pyWorkPage.SomeList(4).PageOfDataClassA.DropdownProperty1 2) pyWorkPage.Somegroup(Red).PageOfDataClassB.DropdownProperty2 To specify a reference from one to another of those pages would be rather complex because - the embedded pages can't assume that the structure of their siblings will be the same in every instance that a section is used - the embedded pages don't know the List/grousubscript of the sibling they need to reference |
For List Source, use a ReportDefinition filtered by Param.SomeCriterion | ? | ? | OnChange of the first Dropdown, use an Activity or DataTransform to set a property on the Param page |
? The question here is "which parameter page"? Is the parameter page available to the Report Definition/Dropdown the same as the Param page for the Activity/DataTransform that sets the filtering property? How can we be sure of that? |