Существует раскрывающийся список для состояния, в соответствии с которым должны изменяться записи в datatable.У меня есть другой выпадающий список страниц для выбора страниц.При изменении выпадающего списка нумерации выполняется ajax-вызов, который переходит к компоненту, и результат выбирается, а данные обновляются. Отображаются записи на странице 10.
Проблема в том, что когда я выбираю состояние с 30 записями, а затем выбираю 2-ю страницу из выпадающего списка, все работает нормально, но если я выбираю другое состояние, содержащее только 7 записей, а затем выбираю 2-ю страницу из числа страницзатем выпадающий список становится пустым, и после этого ajax также перестает работать.
Вот код:
<div align="left" style="width:99%">
<!-- PAGING CODE - START -->
<rich:datascroller align="top" fastControls="hide" for="data"
maxPages="15"
page="#{courtSessionBean.pageNo}" reRender="sc2" id="sc1"
actionListener="#{courtSessionBean.scrollEvent}"
rendered="#{courtSessionBean.totalPages > 1}">
<%@include file="/jsp/include/NavigationControls.jsp" %>
<f:facet name="pages">
<h:panelGroup>
<x:dataList itemStyleClass="odd" style="odd" var="page"
value="#{courtSessionBean.pageList}">
<h:commandLink action="#{courtSessionBean.search}"
rendered="#{pagingView.currentPageNo!=page}">
<h:outputText value="#{page}"></h:outputText>
<f:param name="PAGE_NO" value="#{page}"></f:param>
<f:param name="orderBy"
value="#{courtSessionBean.orderBy}"></f:param>
<f:param name="orderType"
value="#{courtSessionBean.orderType}"></f:param>
</h:commandLink>
<h:outputText value="#{page}" rendered="#{pagingView.currentPageNo==page}"></h:outputText>
<h:outputText value=" " />
</x:dataList>
<h:outputText value=" Page " />
<h:selectOneMenu value="#{courtSessionBean.pageNo}">
<a4j:support reRender="sc1,sc2,data" event="onchange" actionListener="#{courtSessionBean.search}"></a4j:support>
<f:selectItems value="#{courtSessionBean.pages}" />
</h:selectOneMenu>
<h:outputText value=" / #{courtSessionBean.totalPages}" />
<h:outputText value=" " />
</h:panelGroup>
</f:facet>
</rich:datascroller>
<!-- PAGING CODE - END -->
</div>
<div style="width:99%">
<x:dataTable width="100%" rowClasses="even,odd" styleClass="table" first="0"
rows="10" cellpadding="0" cellspacing="0" id="data" value="#
{courtSessionBean.tableModel}" binding="#{courtSessionBean.table}"
var="sessionheader">
<h:column rendered="#{courtSessionBean.orderType=='ASC' &&
courtSessionBean.orderBy=='CSH.AGENCYNAME'}" >
<f:facet name="header">
<h:commandLink action="#{courtSessionBean.search}">
<h:graphicImage url="#
{facesContext.externalContext.requestContextPath}/../images/sort_asc.gif" />
<f:param name="orderType" value="DESC"></f:param>
<f:param name="orderBy" value="CSH.AGENCYNAME"></f:param>
<f:param name="PAGE_NO" value="#{courtSessionBean.pageNo}">
</f:param>
<h:outputText value="#{bundle.courtsession_agency}"
escape="false"/>
</h:commandLink>
</f:facet>
<h:outputText value="#{sessionheader.agencyName}" />
</h:column>
</x:dataTable>
</div>
<div style="width:99%">
<x:dataTable width="100%" rowClasses="even,odd" styleClass="table" first="0" rows="10" cellpadding="0" cellspacing="0" id="data" value="#{courtSessionBean.tableModel}" binding="#{courtSessionBean.table}" var="sessionheader">
<h:column rendered="#{courtSessionBean.orderType=='ASC' && courtSessionBean.orderBy=='CSH.AGENCYNAME'}" >
<f:facet name="header">
<h:commandLink action="#{courtSessionBean.search}">
<h:graphicImage url="#{facesContext.externalContext.requestContextPath}/../images/sort_asc.gif" />
<f:param name="orderType" value="DESC"></f:param>
<f:param name="orderBy" value="CSH.AGENCYNAME"></f:param>
<f:param name="PAGE_NO" value="#{courtSessionBean.pageNo}"></f:param>
<h:outputText value="#{bundle.courtsession_agency}" escape="false"/>
</h:commandLink>
</f:facet>
<h:outputText value="#{sessionheader.agencyName}" />
</h:column>
</x:dataTable>
</div>
<!-- PAGING CODE - START -->
<div align="left" style="width:99%">
<rich:datascroller align="top" for="data" maxPages="15" page="#{courtSessionBean.pageNo}" reRender="sc1" fastControls="hide"
id="sc2" actionListener="#{courtSessionBean.scrollEvent}" rendered="#{courtSessionBean.totalPages > 1}">
<%@include file="/jsp/include/NavigationControls.jsp" %>
<f:facet name="pages">
<h:panelGroup>
<x:dataList itemStyleClass="odd" style="odd" var="page" value="#{courtSessionBean.pageList}">
<h:commandLink action="#{courtSessionBean.search}" rendered="#{pagingView.currentPageNo!=page}">
<h:outputText value="#{page}"></h:outputText>
<f:param name="PAGE_NO" value="#{page}"></f:param>
<f:param name="orderBy" value="#{courtSessionBean.orderBy}"></f:param>
<f:param name="orderType" value="#{courtSessionBean.orderType}"></f:param>
</h:commandLink>
<h:outputText value="#{page}" rendered="#{pagingView.currentPageNo==page}"></h:outputText>
<h:outputText value=" " />
</x:dataList>
</h:panelGroup>
</f:facet>
</rich:datascroller>
<!-- PAGING CODE - END -->
<f:subview id="noRecordFound" rendered="#{courtSessionBean.totalRows==0}">
<div class="odd" style="width:100%" align="center">
<b><h:outputText value="#{bundle.note_noRecordsFound}" /></b>
</div>
</f:subview>
</div>