My problem is that RichFaces reRender
does not work 'under' the current element in the element tree; only upper elements get rerendered.
Is there any way to access lower elements with AJAX?
Any help would be appreciated! Daniel
EDIT I edited this question to a more general one. See revisions if interested in the original question.
Here is an example where
changePanel111()
changes the content of a lower element:Notice how the lower element needs to be identified as
form:PANEL111
.Hope this helps!
reRender can point to any component outside the form as well. For example this works:
For my MyFaces+Richfaces App,
<rich:panel>
tag was not working as described in the selected answer. When I changed it to<a4j:outputPanel ajaxRendered="true" />
, it started working as given here "<a4j:commandLink> Not Rerendering"Configuration: MyFaces 2.1.10(Facelets used for templating) and Richfaces 4.2.3.
Hope this will help.
reRender
works with providing an theid
of the target object you want to reRender (inside the same naming container -form
most often)id
should be a unique string, according to html specreRender
allows dynamic value - i.e.reRender="#{myBean.currentItemsToRerender}
Based on that I think you should be able to achieve what you want (although it's not entirely clear)
Update:
UIComponent.findComponent(..)
has a well-defined algorithm for resolving ids. So for absolute referencing your reRendered id should start with:
and then continue through the hierarchy of the naming containers.