I have the following component hierarchy (leaving out parts that are not important):
<tr:commandLink id="calcAll" action="#{backer.calcAll}" partialSubmit="true"/> <tr:table> <tr:column> <tr:panelGroupLayout partialTriggers="calc ::calcAll"> ... results of calculation... </tr:panelGroupLayout> </tr:column> <tr:column> <tr:commandLink id="calc" action="#{backer.calc}" partialSubmit="true"/> </tr:column> </tr:table> So, when I click the "calc" link (in a table row), the other column (containing the panelGroupLayout) refreshes properly. When I click the "calcAll" link, the action works properly, but the panelGroupLayout does not refresh. I have tried it with 1, 2, and 3 colons preceding the trigger 'calcAll', but nothing seems to work. As far as I can tell, the only naming container here is the <tr:table>. So, according to the docs, I should use 2 colons, e.g. "::calcAll": <snip from the docs:> If you need to go up and out of a naming container to get the trigger component, start with two colons. (e.g., partialTriggers="::someComponentOutsideNamingContainer") This includes the current component if the component is a NamingContainer. (e.g., tr:table partialTriggers="::mySiblingComponent" pops out of the table to get to the sibling) </snip> I can hide then show the table and the information refreshes correctly... Any ideas why this isn't working?