Primefaces 数据 Table 使用分页器的总记录
Primefaces Data Table Total Records with Paginator
我正在使用 Primefaces 5.1 并在 index.xhtml 中显示总记录,如果我不使用分页器,它工作正常。
<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 使用分页器时 table,然后我看到显示的记录来自之前呈现的计数。有没有什么方法可以在加载页面后刷新显示或延迟显示此 div 或任何其他简单的解决方案。
----
PrimeFaces loads/processes RenderResponse 阶段数据表的数据。这在 jsf 阶段已经很晚了,这意味着例如rowcount 或 pagenumber 仅适用于在数据表之后呈现的组件,而这又意味着仅适用于 xhtml 中数据表之后的组件。
如果您想以咆哮的方式显示内容,这通常不是问题,因为它显示在 'absolute' 位置,您可以将其放在数据表之后。但是,如果没有解决方法,就不可能在不同类型的组件中渲染它并内联显示它。
对于解决方法,您有两个选择
- 将您的组件放在数据表之后,并在 ajax 调用的 oncomplete 中,使用 jquery dom 操作将其移动到数据表前面
- 使用OmniFaces moveComponent得到相同的结果
我正在使用 Primefaces 5.1 并在 index.xhtml 中显示总记录,如果我不使用分页器,它工作正常。
<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 使用分页器时 table,然后我看到显示的记录来自之前呈现的计数。有没有什么方法可以在加载页面后刷新显示或延迟显示此 div 或任何其他简单的解决方案。 ----
PrimeFaces loads/processes RenderResponse 阶段数据表的数据。这在 jsf 阶段已经很晚了,这意味着例如rowcount 或 pagenumber 仅适用于在数据表之后呈现的组件,而这又意味着仅适用于 xhtml 中数据表之后的组件。
如果您想以咆哮的方式显示内容,这通常不是问题,因为它显示在 'absolute' 位置,您可以将其放在数据表之后。但是,如果没有解决方法,就不可能在不同类型的组件中渲染它并内联显示它。
对于解决方法,您有两个选择
- 将您的组件放在数据表之后,并在 ajax 调用的 oncomplete 中,使用 jquery dom 操作将其移动到数据表前面
- 使用OmniFaces moveComponent得到相同的结果