[RF4.1.M3] How to limitRender for rich:dataScroller ? error@malformedXML/page blocked
jadtn Nov 2, 2011 6:39 AMHi,
<rich:dataScroller> has no limitRender, so there is a way to do it?
I've (see sample attachement) a sample where when you click on the datascroller theres is error@malformedXML because of some a <a4j:outputPanel ajaxRendered="true"> somewhere in the page which is conditionaly rendered.After the error@malformedXML then links in table and datascroller are broken.
I think the cause of the problem is because datascroller generate "render" of the whole components which have ajaxRendered="true" in the page.
So there is a way to limiRender with datascoller?
Here the simple example whith to problem :
Generate error@malformedXML and block table + datascoller:
1- click a link in the table like set data2exampleid-0
2-click on datascroller => error@malformedXML because outpupanel id=panelajaxtrue1 can't be found
3-try to click a link in the table or the datascroller : all is blocked
{code:xml}
<f:view contentType="text/html">
<h:form>
<a4j:outputPanel id="det" ajaxRendered="false">
<rich:togglePanel rendered="#{not empty ctrlCompareAJCommandAndAjax.selected}" value="closed" switchType="ajax" activeItem="closed">
<rich:togglePanelItem id="closed" >
<h:panelGroup id="i3" layout="block">
<h:commandLink value="[Detail #{ctrlCompareAJCommandAndAjax.selected}]" >
<rich:toggleControl targetItem="tip1" />
</h:commandLink>
</h:panelGroup>
</rich:togglePanelItem>
<rich:togglePanelItem id="tip1">
<rich:panel>
<f:facet name="header">
<h:commandLink value="[close]" >
<rich:toggleControl targetItem="closed" />
</h:commandLink>
</f:facet>
<a4j:outputPanel id="panelajaxtrue1" ajaxRendered="true">
<h:outputText rendered="#{not empty ctrlCompareAJCommandAndAjax.selected}" value="#{ctrlCompareAJCommandAndAjax.inc}" />
</a4j:outputPanel>
</rich:panel>
</rich:togglePanelItem>
</rich:togglePanel>
</a4j:outputPanel>
<rich:dataTable id="datas2" value="#{ctrlCompareAJCommandAndAjax.datas2}" var="data" rows="3" >
<rich:column>
<f:facet name="header">
column
</f:facet>
<a4j:commandLink limitRender="true" render="det" execute="@this" value="set #{data}" >
<a4j:param name="cd" value="#{data}" assignTo="#{ctrlCompareAJCommandAndAjax.selected}" />
</a4j:commandLink>
</rich:column>
<f:facet name="footer">
<rich:dataScroller for="datas2" />
</f:facet>
</rich:dataTable>
<a4j:commandLink limitRender="true" render="det" execute="@this" value="clear selected" >
<a4j:param name="cd" value="" assignTo="#{ctrlCompareAJCommandAndAjax.selected}" />
</a4j:commandLink>
</h:form>
<a4j:log />
</f:view>
{code}
Thanks for your help
Regards
-
CtrlCompareAJCommandAndAjax.java.zip 635 bytes
-
testa4jcommandajax.xhtml.zip 900 bytes