我已尝试过提供的解决方案 rich:dataTable paging - marking visited pages of rich:datascroller 但它不适用于富人脸4.3.4。
我也尝试过数据滚动的页面属性。这是我的代码实现datascroller的页面属性。
<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类中有各自的getter和setter,并且具有以下范围:
@ManagedBean
@ViewScoped
将pageIndex设置为1。
private int pageIndex = 1;
我尝试使用以下方式提醒当前页码:
alert('You are in page : ' + $('#mainForm\\:itemDataTable\\:pageNumberOutPutText').val());
但它仅提醒1.即使我点击下一页或点击其他页面,数据表页脚中的outputText也只显示1。
最重要的是,我想做的就是使用JQuery提醒当前页码。如果可能的话,我也不想为此使用getter和setter。我真的想知道如何使用Jquery获取当前页码。
答案 0 :(得分:1)
指定要使用ajax请求重新呈现的区域以更新视图的相应部分。 E.g:
<rich:dataScroller render="pageNumberOutPutText"/>
答案 1 :(得分:0)
当前页码位于支持datascroller的JS对象中。你可以用它来获得它:
#{rich:component('scrollerId')}.currentPage