[richfaces-issues] [JBoss JIRA] (RF-11908) rich:datascroller not scrolling rich:dataGrid

Brian Leathem (JIRA) jira-events at lists.jboss.org
Sat Jan 21 00:14:18 EST 2012


     [ https://issues.jboss.org/browse/RF-11908?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brian Leathem updated RF-11908:
-------------------------------

    Steps to Reproduce: 
Here is the complete form.  As presented the rich:DataGrid will not be scrolled by the scroller.  Simply swapping to the very similar rich:dataTable version enclosed in the ui:remove tags will demonstrate that it works properly with that component.  Swapping back to the dataGrid version, the datascroller no longer functions.  The bug appears to be with either thet datGrid itself and/or the datascroller:

{code}
     <a4j:form id="StatisticsForm" width="100%" style="height: 100%;" status="StatisticsStatus">

                        <ui:decorate id="statisticsDecoration" template="/templates/centered.xhtml">
                            <a4j:outputPanel id="CPSStatisticsOutputPanel">                            
                                <h:outputText id="noCPSStatsText" value="#{msgs.noCPSStatisticsMsg}" 
                                              rendered="#{empty statisticsController.CPSMessageStatistics}"/>

                                <rich:dataGrid id="CPSDataGrid" value="#{statisticsController.CPSMessageStatistics}" var="stat"
                                    columns="#{CS3Admin.STATISTICS_COLUMNS}" elements="#{CS3Admin.STATISTICS_ELEMENT_COUNT}" 
                                    border="0" width="100%"
                                    rendered="#{not empty statisticsController.CPSMessageStatistics}">
                                    <rich:panel bodyClass="pbody">
                                        <f:facet name="header">
                                            <h:outputText value="#{stat.key}"></h:outputText>
                                        </f:facet>
                                        <h:panelGrid columns="2">
                                            <h:outputText value="Count:" styleClass="label"
                                                rendered="#{not stat.count}" />
                                            <h:outputText value="#{stat.value}" />
                                        </h:panelGrid>
                                    </rich:panel>
                                    <f:facet name="footer">
                                        <rich:datascroller renderIfSinglePage="false" status="StatisticsStatus"/>
                                    </f:facet>
                                </rich:dataGrid>
                                <ui:remove>
                                <rich:dataTable id="CPSDataGrid" value="#{statisticsController.CPSMessageStatistics}" var="stat"
                                    rows="8" border="0" width="100%"
                                    rendered="#{not empty statisticsController.CPSMessageStatistics}">

                                    <f:facet name="header">
                                        <rich:columnGroup>
                                            <h:column>
                                                <h:outputText styleClass="bold" value="MFN" />
                                            </h:column>
                                            <h:column>
                                                <h:outputText styleClass="bold" value="Count" />
                                            </h:column>                                                                                
</rich:columnGroup>
                                    </f:facet>
                                    <h:column>
                                        <h:outputText value="#{stat.key}"></h:outputText>                                        
                                    </h:column>
                                    <h:column>
                                        <ui:remove>
                                        <h:outputText value="Count:" styleClass="label"
                                            rendered="#{not stat.count}" />
                                        </ui:remove>
                                        <h:outputText value="#{stat.value}" />
                                    </h:column>
                                    <f:facet name="footer">
                                        <rich:datascroller renderIfSinglePage="false" status="StatisticsStatus"/>
                                    </f:facet>
                                </rich:dataTable>
                                </ui:remove>
                            </a4j:outputPanel>

                            <a4j:outputPanel id="CPSStatisticsResetButtonPanel">
                                <rich:spacer/>

                                <a4j:commandLink id="statisticsResetButton" value="#{msgs.resetStatisticsLabel}" status="StatisticsStatus"
                                    oncomplete="if (#{facesContext.maximumSeverity==null || facesContext.maximumSeverity.ordinal==0}) #{rich:component('resetStatisticsConfirmationPanel')}.show();"
                                    reRender="resetStatisticsConfirmationPanel, CPSStatisticsOutputPanel, CPSRateBarPanel, CPSStatisticsResetButtonPanel"
                                    rendered="#{not empty statisticsController.CPSMessageStatistics}"/>
                            </a4j:outputPanel>
                        </ui:decorate>            
                    </a4j:form>
{code}  

  was:
Here is the complete form.  As presented the rich:DataGrid will not be scrolled by the scroller.  Simply swapping to the very similar rich:dataTable version enclosed in the ui:remove tags will demonstrate that it works properly with that component.  Swapping back to the dataGrid version, the datascroller no longer functions.  The bug appears to be with either thet datGrid itself and/or the datascroller:


     <a4j:form id="StatisticsForm" width="100%" style="height: 100%;" status="StatisticsStatus">

                        <ui:decorate id="statisticsDecoration" template="/templates/centered.xhtml">
                            <a4j:outputPanel id="CPSStatisticsOutputPanel">                            
                                <h:outputText id="noCPSStatsText" value="#{msgs.noCPSStatisticsMsg}" 
                                              rendered="#{empty statisticsController.CPSMessageStatistics}"/>

                                <rich:dataGrid id="CPSDataGrid" value="#{statisticsController.CPSMessageStatistics}" var="stat"
                                    columns="#{CS3Admin.STATISTICS_COLUMNS}" elements="#{CS3Admin.STATISTICS_ELEMENT_COUNT}" 
                                    border="0" width="100%"
                                    rendered="#{not empty statisticsController.CPSMessageStatistics}">
                                    <rich:panel bodyClass="pbody">
                                        <f:facet name="header">
                                            <h:outputText value="#{stat.key}"></h:outputText>
                                        </f:facet>
                                        <h:panelGrid columns="2">
                                            <h:outputText value="Count:" styleClass="label"
                                                rendered="#{not stat.count}" />
                                            <h:outputText value="#{stat.value}" />
                                        </h:panelGrid>
                                    </rich:panel>
                                    <f:facet name="footer">
                                        <rich:datascroller renderIfSinglePage="false" status="StatisticsStatus"/>
                                    </f:facet>
                                </rich:dataGrid>
                                <ui:remove>
                                <rich:dataTable id="CPSDataGrid" value="#{statisticsController.CPSMessageStatistics}" var="stat"
                                    rows="8" border="0" width="100%"
                                    rendered="#{not empty statisticsController.CPSMessageStatistics}">

                                    <f:facet name="header">
                                        <rich:columnGroup>
                                            <h:column>
                                                <h:outputText styleClass="bold" value="MFN" />
                                            </h:column>
                                            <h:column>
                                                <h:outputText styleClass="bold" value="Count" />
                                            </h:column>                                                                                
</rich:columnGroup>
                                    </f:facet>
                                    <h:column>
                                        <h:outputText value="#{stat.key}"></h:outputText>                                        
                                    </h:column>
                                    <h:column>
                                        <ui:remove>
                                        <h:outputText value="Count:" styleClass="label"
                                            rendered="#{not stat.count}" />
                                        </ui:remove>
                                        <h:outputText value="#{stat.value}" />
                                    </h:column>
                                    <f:facet name="footer">
                                        <rich:datascroller renderIfSinglePage="false" status="StatisticsStatus"/>
                                    </f:facet>
                                </rich:dataTable>
                                </ui:remove>
                            </a4j:outputPanel>

                            <a4j:outputPanel id="CPSStatisticsResetButtonPanel">
                                <rich:spacer/>

                                <a4j:commandLink id="statisticsResetButton" value="#{msgs.resetStatisticsLabel}" status="StatisticsStatus"
                                    oncomplete="if (#{facesContext.maximumSeverity==null || facesContext.maximumSeverity.ordinal==0}) #{rich:component('resetStatisticsConfirmationPanel')}.show();"
                                    reRender="resetStatisticsConfirmationPanel, CPSStatisticsOutputPanel, CPSRateBarPanel, CPSStatisticsResetButtonPanel"
                                    rendered="#{not empty statisticsController.CPSMessageStatistics}"/>
                            </a4j:outputPanel>
                        </ui:decorate>            
                    </a4j:form>
  

       Forum Reference: https://community.jboss.org/message/647269#647269  (was: https://community.jboss.org/message/647269#647269)

    
> rich:datascroller not scrolling rich:dataGrid
> ---------------------------------------------
>
>                 Key: RF-11908
>                 URL: https://issues.jboss.org/browse/RF-11908
>             Project: RichFaces
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: component
>    Affects Versions: 3.3.3.Final
>         Environment: Windows OS in JBoss 5.1
>            Reporter: Todd Gould
>
> The rich:dataScroller does not work with the rich:dataGrid component.  The datascroller represents the proper number of pages for the data in the dataGrid.  However, when I select any of the datascroller controlls, the ajax request processes (as witnessed via the associated status), but the dataGrid remains on the first page.  Nothing seems to be able to make it progress to another page.  No ajax or other errors are generated and all appears to function well except that the datGrid does not scroll.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the richfaces-issues mailing list