rich:dataTable ページングで提供されている解決策を試しました - rich:datascroller の訪問済みページをマークしますが、Rich Face 4.3.4 では機能しませんでした。
データスクローラーのページ属性も試しました。データスクローラーのページ属性を実装する私のコードは次のとおりです。
<h:form id="mainForm">
<rich:dataScroller for="itemDataTable" maxPages="30" execute="itemDataTable" page="#{itemsController.pageIndex}"/>
<rich:dataTable rowKeyVar="rkVar" rows="15" id="itemDataTable" value="#{itemsController.itemDM}" var="r">
<f:facet name="footer">
<h:outputText id="pageNumberOutPutText" value="#{itemsController.pageIndex}"/>
</f:facet>
<h:column id="setValue">
<h:inputText id="finalItem" valueChangeListener="#{itemsController.recalculate()}" value="#{r.items.prices}"/>
</h:column>
...
...
<!-- other columns -->
</rich:dataTable>
<rich:dataScroller for="itemDataTable" maxPages="30" execute="itemDataTable" page="#{itemsController.pageIndex}"/>
</h:form>
私は itemsController クラスに次のスコープを持つそれぞれのゲッターとセッターを持っています:
@ManagedBean
@ViewScoped
pageIndex は最初は 1 に設定されています。
private int pageIndex = 1;
そして、次を使用して現在のページ番号を警告しようとしました:
alert('You are in page : ' + $('#mainForm\\:itemDataTable\\:pageNumberOutPutText').val());
しかし、アラートは1つだけです。また、次のページをクリックしたり、他のページをクリックしたりしても、データテーブルフッターのoutputTextには1つしか表示されません。
とりわけ、私がやりたかったことは、JQuery を使用して現在のページ番号を通知することだけです。また、可能であれば、これにゲッターとセッターを使用したくありません。Jquery を使用して現在のページ番号を取得する方法を知りたかったのです。