4 Replies Latest reply: Nov 1, 2012 5:33 PM by kdario RSS

    How to PPR a row in af:iterator

      We have an af:iterator component that adds rows of components at run time. Each row includes a progress bar(af:progressIndicator), which we need to update periodically. So we do PPR for the panel (af:panelGroupLayout) that contains the af:iterator. That works. However, if it is possible to do PPR for specific row of iterator, then that will be more efficient. Is it possible to do PPR for a row in af:iterator?
        • 1. Re: How to PPR a row in af:iterator
          Sudipto Desmukh
          No I dont think so .. you could also update the ierator instead.
          Also try feeding the progressIndicator using a af:Poll .. you can google for an example
          • 2. Re: How to PPR a row in af:iterator
            Maybe you can bind af:panelGroupLayout to bean and then iterate through child elements, something like this:
            List<UIComponent> children = panelGroupLayout.getChildren();
            for(UIComponent child : children) {
            • 3. Re: How to PPR a row in af:iterator
              Thanks for your reply. I got the iterator child component (UIXIterator) of the panel group layout, and hoped that UIXIterator#getChildren will return the component for the child rows. However, UIXIterator#getChildren always returns 1 child (panel group layout specified at design time), instead of multiple children representing the child rows. So I could not get hold of the child row and PPR on it. Thanks.
              • 4. Re: How to PPR a row in af:iterator
                If you can replace af:iterator with af:forEach, then you can use
                UIComponent comp = parentComponent.findComponent(clientId);
                to find child rows.