【问题标题】:PrimeFaces. Update DataTable after Rendering素面。渲染后更新 DataTable
【发布时间】:2014-10-11 14:30:06
【问题描述】:

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

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

在表格呈现后,我找不到启动过滤的解决方案。 Solution with overriding PrimeFaces methods 在我的情况下不能使用。

更新:如果问题可以用 Java 或 xhtml 解决,我正在尝试不使用额外的 js

我正在使用 Primefaces 3.5

你有什么想法吗?

谢谢! :)

【问题讨论】:

  • @BalusC 如果问题可以用 Java 或 xhtml 解决,我们尽量不使用额外的 js。

标签: jsf-2 primefaces datatable


【解决方案1】:

我遇到了类似的问题。 我想在我的 DT 中放置一些持久过滤器并对其进行初始过滤。

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

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

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

它使用<h:body>onload 事件。

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

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

希望能帮到你。

问候 飞翼

【讨论】:

    【解决方案2】:

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

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

    或使用:

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

    【讨论】:

    • 调用何时为什么
    • 或您可以使用以下命令完全清除过滤器:
    猜你喜欢
    • 1970-01-01
    • 2011-06-11
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-26
    相关资源
    最近更新 更多