]
Nick Belaevski resolved RF-8603.
--------------------------------
Resolution: Duplicate Issue
Assignee: Nick Belaevski
Datascroller The requested page #2 isn't found in the model
containing 1 pages. Paging is reset to page #1
-----------------------------------------------------------------------------------------------------------
Key: RF-8603
URL:
https://jira.jboss.org/jira/browse/RF-8603
Project: RichFaces
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: component-tables
Affects Versions: 3.3.3.Final
Environment: Oracle Weblogic 10.3.2, Linux 64bit
Reporter: Mirko Sciachero
Assignee: Nick Belaevski
Priority: Critical
I have the following code:
<?xml version="1.0" encoding="UTF-8"?>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:i4c="http://i4c.com/jsf/components"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich"
xmlns:fn="http://java.sun.com/jsp/jstl/functions">
<ui:composition>
<rich:simpleTogglePanel label="#{componentDataTable.label}"
opened="#{componentDataTable.opened}" switchType="client"
ajaxSingle="true"
headerClass="edRelationSimpleTogglePanelHeader"
styleClass="edRelationSimpleTogglePanel" style="width:100%"
id="componentToggle" >
<rich:extendedDataTable
value="#{componentDataTable.componentDecoratorList}"
var="componentDecorator" rows="1" footerClass=""
id="componentTable" rowClasses="odd,even" >
<rich:column rendered="#{((entityPageMB.entityDetailsMB.mode) !=
('DISPLAY'))}">
<h:selectBooleanCheckbox id="componentDecoCheckBox"
value="#{componentDecorator.selected}">
<a4j:support event="onchange" ajaxSingle="true"
actionListener="#{componentDataTable.onSelect}"
immediate="true" reRender="componentActionPanel,componentTable"
>
<f:param name="componentIdChar"
value="#{componentDecorator.idCharacter}" />
</a4j:support>
</h:selectBooleanCheckbox>
<a4j:outputPanel ajaxRendered="true"/>
</rich:column>
<rich:column sortable="true"
sortBy="#{componentDecorator.idCharacter}" id="col_2"
filterBy="#{componentDecorator.idCharacter}"
filterEvent="onkeyup">
<f:facet name="header">
<h:outputText value="Id" />
</f:facet>
<h:outputText value="#{componentDecorator.idCharacter}" />
</rich:column>
<rich:column sortable="true"
sortBy="#{componentDecorator.versionedName}" id="col_3"
filterBy="#{componentDecorator.versionedName}"
filterEvent="onkeyup">
<f:facet name="header">
<h:outputText value="Nome" />
</f:facet>
<h:commandLink value="#{componentDecorator.versionedName}"
action="#{componentDecorator.navigateComponent}" ></h:commandLink>
</rich:column>
<rich:column sortable="true"
sortBy="#{componentDecorator.description}" id="col_4"
filterBy="#{componentDecorator.description}"
filterEvent="onkeyup" >
<f:facet name="header">
<h:outputText value="Descrizione" />
</f:facet>
<h:outputText value="#{componentDecorator.description}" />
</rich:column>
</rich:extendedDataTable>
<rich:datascroller for="componentTable" />
<rich:spacer height="20" />
<h:panelGrid id="componentActionPanel" columns="4"
rendered="#{((entityPageMB.entityDetailsMB.mode) != ('DISPLAY'))}">
<h:commandButton value="#{lang.modify_label}"
styleClass="button" disabled="#{componentDataTable.modifyDisabled}"
action="#{componentInstances.modifyInstance}" >
<f:setPropertyActionListener
value="#{componentDataTable.selectedComponentDecorator}"
target="#{componentInstances.selectedComponentDecorator}" />
<f:setPropertyActionListener
value="#{componentDataTable.componentTypeDecorator}"
target="#{componentInstances.selectedComponentTypeDecorator}" />
</h:commandButton>
<h:commandButton value="#{lang.duplicate_label}"
styleClass="button" rendered="#{componentDataTable.cloneRendered}"
disabled="#{componentDataTable.cloneDisabled}"
action="#{componentInstances.duplicateInstance}" >
<f:setPropertyActionListener
value="#{componentDataTable.selectedComponentDecorator}"
target="#{componentInstances.selectedComponentDecorator}" />
<f:setPropertyActionListener
value="#{componentDataTable.componentTypeDecorator}"
target="#{componentInstances.selectedComponentTypeDecorator}" />
</h:commandButton>
<h:commandButton value="#{lang.delete_label}"
styleClass="button" disabled="#{componentDataTable.deleteDisabled}"
action="#{componentInstances.deleteInstances}">
<f:setPropertyActionListener
value="#{componentDataTable.selectedComponentDecoratorList}"
target="#{componentInstances.selectedComponentDecoratorList}" />
<f:setPropertyActionListener
value="#{componentDataTable.componentTypeDecorator}"
target="#{componentInstances.selectedComponentTypeDecorator}" />
</h:commandButton>
<h:commandButton value="#{lang.create_label}"
styleClass="button" disabled="#{componentDataTable.createDisabled}"
action="#{componentInstances.createInstance}" >
<f:setPropertyActionListener
value="#{componentDataTable.componentTypeDecorator}"
target="#{componentInstances.selectedComponentTypeDecorator}" />
</h:commandButton>
</h:panelGrid>
</rich:simpleTogglePanel>
</ui:composition>
</html>
called by the following fragment:
<?xml version="1.0" encoding="UTF-8"?>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:i4c="http://i4c.com/jsf/components"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
<ui:composition>
<rich:simpleTogglePanel id="componetsSTG"
opened="#{entityPageMB.entityDetailsMB.componentInstances.opened}"
label="#{lang.lbl_toggle_comp}" switchType="ajax"
ajaxSingle="true" eventsQueue="componetsPGQueue"
headerClass="edMainGroupSimpleTogglePanelHeader"
onexpand="this.children[1].innerText = '#{lang.lbl_toggle_comp}
loading...';"
styleClass="componentRelationsInstancesDetails"
reRender="componetsPG"
action="#{entityPageMB.entityDetailsMB.componentInstances.togglePanel}"
rendered="#{!empty
entityPageMB.entityDetailsMB.componentInstances.compTypeDecoratorList and
(entityPageMB.entityDetailsMB.entityInstanceType.mainInstance or
entityPageMB.entityDetailsMB.entityInstanceType.componentInstance or
entityPageMB.entityDetailsMB.entityInstanceType.relationInstance)}">
<h:panelGrid id="componentsPG" styleClass="edGrid">
<a4j:repeat
value="#{entityPageMB.entityDetailsMB.componentInstances.compDataTableDecoratorList}"
var="componentDataTable">
<a4j:region>
<h:panelGrid styleClass="edGrid">
<ui:decorate
template="/WEB-INF/templates/componentDataTable.jsp">
<ui:param name="componentDataTable"
value="#{componentDataTable}" />
<ui:param name="componentInstances"
value="#{entityPageMB.entityDetailsMB.componentInstances}" />
</ui:decorate>
</h:panelGrid>
</a4j:region>
</a4j:repeat>
</h:panelGrid>
</rich:simpleTogglePanel>
</ui:composition>
</html>
that display a set of table paginated using <rich:datascroller>.
When I select the next page nothing will change, the data returned by Ajax Request are
the fist page and in the log I found the following WARN:
"Datascroller generalfrm:j_id163:j_id176: The requested page #2 isn't found in
the model containing 1 pages. Paging is reset to page #1"
Seems that the data table "forget" the list of values and reread all
The variable:#{componentDataTable.componentDecoratorList} is a list of object that
represent a line in the table.
ComponentDataTable is an object that represent the entire table.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: