3 Replies Latest reply on Oct 4, 2013 3:38 AM by Cmoster-Oracle

    Need help to solve delay in column stretching of table

    Cmoster-Oracle

      Hi All,

       

      I am using JDev 11.1.1.7.

       

      In using <af:table> with the <af:panelCollection>, the jsff is as below:

       

      <af:group binding="#{backingBeanScope.MyBean.formData}" id="g2">

          <af:panelCollection id="pc1" styleClass="AFStretchWidth">

            <f:facet name="menus"/>

            <f:facet name="statusbar"/>

            <f:facet name="toolbar">

              <af:toolbar id="tb1">

                     some buttons.....

              </af:toolbar>

            </f:facet>

            <af:table value="#{bindings.myVo.collectionModel}" var="row"

                      rows="#{bindings.myVo.rangeSize}"

                      emptyText="#{bindings.myVo.viewable ? 'No data to display.' : 'Access Denied.'}"

                      fetchSize="#{bindings.myVo.rangeSize}"

                      rowBandingInterval="0" autoHeightRows="5"

                      selectedRowKeys="#{bindings.myVo.collectionModel.selectedRow}"

                      selectionListener="#{bindings.myVo.collectionModel.makeCurrent}"

                      rowSelection="single" id="t1"

                      styleClass="AFStretchWidth" columnStretching="multiple"

                      binding="#{backingBeanScope.MyBean.myTable}"

                      contentDelivery="immediate">

       

        <af:column sortable="false" align="right"

                          width="#{adfFacesContext.outputMode eq 'printable' ? '100' : '50%'}">

        </af:column>

       

        <af:column sortable="false" align="right"

                          width="#{adfFacesContext.outputMode eq 'printable' ? '100' : '50%'}">

        </af:column>

       

        </table>

           </af:panelCollection>

      </af:group>

       

      And the taskflow of that jsff is included as a region inside the parent taskflow. The jsff of that parent taskflow is:

       

      <af:panelGroupLayout id="pagePgl"

                             binding="#{backingBeanScope.ParentTFBean.pagePgl}"

                             layout="scroll">

       

                       other content.....

       

        <af:panelGroupLayout id="pgl1" layout="scroll">

       

            <af:panelBox id="pb8"

                         text="#{header_text}">

                <!-- region that has the table -->

             <af:region binding="#{backingBeanScope.ParentTFBean.region1}"

                         value="#{bindings.myTaskFlow.regionModel}"

                         id="r1"/>

            </af:panelBox>

       

           other content ..........

       

        </af:panelGroupLayout>

       

      </af:panelGroupLayout>

       

      The problem is that there is a delay in column stretching when reaching that page. The delay takes a few secs.

       

      Can you all help to solve that issue (user should see already stretched table when reaching the page)?

       

      Thanks.

       

      Best Regards,

       

      cmoster

        • 1. Re: Need help to solve delay in column stretching of table
          Frank Nimphius-Oracle

          Hi,

           

          there are two issue I see

           

           

          1.  contentDelivery="immediate"  - This waits for all data to be fetched before the table starts rendering. Use the deferred option

           

          2. af:group , I suggest to change this to a component that stretches itself and its children (e.g. panelStretchLayout). Then remove the use of "AFStretchWidth"

           

          Frank

          1 person found this helpful
          • 2. Re: Need help to solve delay in column stretching of table
            Cmoster-Oracle

            Hi Frank,

             

            I replaced af:group with af:panelStretchLayout and removed the contentDelivery. It is working, but there is another problem. Because of removing contentDelivery, the table is showing "Fetching data" for a while when reaching the page. That also takes a few secs. Then only, the table shows in stretched output.

             

            So, I tried with panelStretchLayout alone. But, then the delay in stretching columns comes back. The following is the jsff:

             

            <af:panelStretchLayout id="psl1" styleClass="AFStretchWidth" bottomHeight="0" dimensionsFrom="children">

               <f:facet name="center">  


                 <af:panelCollection id="pc1" styleClass="AFStretchWidth">

                  <f:facet name="menus"/>

                  <f:facet name="statusbar"/>

                  <f:facet name="toolbar">

                    <af:toolbar id="tb1">

                           some buttons.....

                    </af:toolbar>

                  </f:facet>

                  <af:table value="#{bindings.myVo.collectionModel}" var="row"

                            rows="#{bindings.myVo.rangeSize}"

                            emptyText="#{bindings.myVo.viewable ? 'No data to display.' : 'Access Denied.'}"

                            fetchSize="#{bindings.myVo.rangeSize}"

                            rowBandingInterval="0" autoHeightRows="5"

                            selectedRowKeys="#{bindings.myVo.collectionModel.selectedRow}"

                            selectionListener="#{bindings.myVo.collectionModel.makeCurrent}"

                            rowSelection="single" id="t1"

                            styleClass="AFStretchWidth" columnStretching="multiple"

                            binding="#{backingBeanScope.MyBean.myTable}"

                            contentDelivery="immediate">

             

              <af:column sortable="false" align="right"

                                width="#{adfFacesContext.outputMode eq 'printable' ? '100' : '50%'}">

              </af:column>

             

              <af:column sortable="false" align="right"

                                width="#{adfFacesContext.outputMode eq 'printable' ? '100' : '50%'}">

              </af:column>

             

              </table>

                 </af:panelCollection>


            </f:facet>

            </af:panelStretchLayout>


            Can you please suggest?

            Is it because of the outer taskflow?

             

            Thanks.

            • 3. Re: Need help to solve delay in column stretching of table
              Cmoster-Oracle

              Hi,

               

              Can you all help to check this issue? Thanks.

               

              Best Regards,

               

              cmoster