1

我正在尝试将 RF3 升级到 RF4,将 JSF1.2 升级到 JSF 2。因此,在查看页面时,pageIndexVar 属性已从richFaces 4 中删除!我开始知道在rich faces 4 中,pages facet 没有实现。但在我的应用程序中,我需要显示总行数和当前页码!RF3 中的示例代码是:

<rich:dataScroller id="dataScrollerTop" for="richTableID"
                               pagesVar="pages" pageIndexVar="current"
                               fastControls="hide"  renderIfSinglePage="false" />

pagesVar="pages" pageIndexVar="current"这些属性在 RF4 中被删除。有什么办法可以显示总页数和当前页吗?如果是,请通过建议任何教程或任何提示来指导我!

还有一个问题:我们可以为 UIComponent 创建页面构面以显示行数吗?如果是,请建议我!提前致谢!

4

2 回答 2

0

使用数据模型类YourDataModel 扩展 ExtendedDataModel 实现 Arrangeable

    @Override
    public int getRowCount() {... }

使用方法 getRowCount 进行行计数。

当前页面自动存储在 dataScroller 中。你可以加

    private int pageIndex = 1;

在您的数据模型类中,并在需要时使用它。要在 dataScroller 中设置它,请参见示例(页面属性):

<rich:dataScroller id="chTableDataScroller"
renderIfSinglePage="false"
page="#{chAction.clients.pageIndex}"
stepControls="show"
fastControls="#{chAction.clients.rowCount/referenceData.recordsPerPage > 10 ? 'show' : 'hide'}"
fastStep="10" />

实现后数据模型countOfPages = countOfRows / rowsPerPage。RowsPerPage 在数据表中的rows属性中定义:

<rich:dataTable rows="#{referenceData.recordsPerPage}"
value="#{chAction.clients}" var="res" >
于 2013-10-22T01:56:15.470 回答
0

Resolved the problem by implementing the customDataScroller with renderer! In the doEncodeEnd(..) method of Renderer class, i have added mu pagination. Now the UI of the dataScroller is being displayed according to my requirement. thanks!

于 2013-10-24T05:43:54.283 回答