1

我已经尝试了 rich:dataTable 分页中提供的解决方案 - 标记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 获取当前页码。

4

2 回答 2

1

使用 ajax 请求指定要重新渲染的区域,以更新视图的适当部分。例如:

<rich:dataScroller render="pageNumberOutPutText"/>

于 2014-02-10T13:38:20.790 回答
0

当前页码在支持 datascroller 的 JS 对象中。您可以通过以下方式获得它:

#{rich:component('scrollerId')}.currentPage
于 2014-02-04T10:56:02.453 回答