使用Paginator的Primefaces数据表总记录

时间:2015-05-08 20:03:51

标签: jsf-2 primefaces pagination

我正在使用Primefaces 5.1并在index.xhtml中显示总记录,如果我不使用paginator,它完全正常工作。

<h:body>
    <div id="message">
    <p>There are #{uBean.dataTable.rowCount} matching records.</p>
    </div>
    <h:form>
       <p:tabView widgetVar="tabWidget" id="rTab" cellpadding="0px" cache="true">

当我开始为我的primefaces表使用paginator时,我看到记录显示的是先前渲染的计数。有没有办法刷新显示加载页面或延迟显示此div或任何其他简单的解决方案。            ----                 

1 个答案:

答案 0 :(得分:1)

PrimeFaces在RenderResponse阶段加载/处理数据表的数据。这在jsf阶段已经很晚了,这意味着rowcount或pagenumber仅适用于在数据表之后呈现的组件,而这仅适用于xhtml中的数据组之后的组件。

如果你想在咆哮中展示东西,这通常不是一个问题,因为它显示在一个绝对的&#39;位置,你可以把它放在数据表之后。但如果没有解决方法,则无法在不同类型的组件中呈现它并以内联方式显示它。

要获得解决方法,您有两个选项

  1. 将您的组件放在数据表之后,并在ajax调用的oncomplete中,使用jquery dom操作将其移动到数据表之前
  2. 使用OmniFaces moveComponent获得相同的结果