PrimeFaces。渲染后更新DataTable

时间:2014-08-18 15:54:47

标签: jsf-2 primefaces datatable

我有一个DataTable并希望保留过滤器。我可以保存过滤器值并通过调用数据表将它们放回去。 我把滤镜值放回渲染上。现在我希望过滤表格。

是的,我想调用服务并从中获取所有数据 然后我想用保留在过滤器字段中的值来过滤表。

我无法找到在表格渲染后开始过滤的解决方案。 Solution with overriding PrimeFaces methods不能在我的情况下使用。

更新:我试图不使用其他js,如果问题可以通过Java或xhtml解决

我正在使用Primefaces 3.5

你有什么想法吗?

谢谢! :)

2 个答案:

答案 0 :(得分:6)

我有类似的问题。 我想在我的DT中添加一些持久的过滤器并初步过滤它。

几个小时后我想出了这个:

<p:remoteCommand name="onload" oncomplete="PF('ticketTable').filter()" autoRun="true"/>

加载/重新加载页面后<p:remoteCommand>触发器PF("ticketTable').filter()

它使用onload的{​​{1}}事件。

我在这里找到了: Execute managebean method from javascript onload event

顺便说一下。我正在使用PF 5.0,但根据文档,remoteCommand也存在于3.5中。所以它也应该在3.5中工作。

我希望我能帮助你。

此致 FlyingSpaten

答案 1 :(得分:0)

你必须调用它的客户端filter()方法

oncomplete="PF('dataTableWidgetVar').filter()"

或使用:

 oncomplete="PF('dataTableWidgetVar').clearFilters()"