0 Replies Latest reply on Nov 2, 2011 6:39 AM by Adrien Adrien

    [RF4.1.M3]  How to limitRender for rich:dataScroller ? error@malformedXML/page blocked

    Adrien Adrien Apprentice

      Hi,

       

      <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