java - 如何在 Primefaces 数据表过滤器上保持 session

标签 java filter datatable primefaces refresh

我有一个使用 Primefaces Datatable 的页面,基本上 ManagedBean 查询数据库并将 DataTable 中的信息显示为报告,我使用选项 filterBy 进行过滤。

信息会通过页面刷新自动更新,我的问题是当系统重新加载页面时,系统会丢失在过滤器中输入的信息,然后用户必须再次在过滤器中输入信息。

我需要保留用户输入的信息,那么我认为我需要保留我页面的过滤器的 session ,我认为它可以解决我的问题。

最佳答案

PrimeFaces 目前似乎不支持保存数据表的过滤器值(从 PF 3.2 开始)。

建议您为该列实现一个 header 构面,并在其中添加一个输入字段,该输入字段绑定(bind)到支持 bean 上将执行过滤器的方法。这样,您就可以将过滤器字段的值存储在 View Scope 中(使用 View Scope 托管 bean 或 Tomahawk 的 saveState 组件)。请注意,输入字段可以(也许应该)使用 p:ajax 组件进行设置,以便当用户更改字段上的值时,将调用支持 bean 方法,以便过滤器将执行与原来完全相同的操作您使用 p:column 的 filterBy 属性来实现它。

当我想要一个过滤器时,我已经完成了上述操作,通过使用弹出日历来指定日期,并且效果很好。

关于java - 如何在 Primefaces 数据表过滤器上保持 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10014957/

相关文章:

Java 不会因双逗号而崩溃 "malformed line"

java - GUICE - 在运行时决定对象图

java - Spring WebFlux : How to access Request Body in HandlerFilterFunction

c# - 如何创建动态数据表?

javascript - 数据表重新加载按钮不可见

java - 通过在 Spring-MVC Hibernate 应用程序中进行缓存来缩短页面加载时间

java - 如何使用 Apache Kafka 进行内容过滤?

mysql - 想要进一步过滤掉以下 mysql 结果集

angularjs - ng重复内的 Angular ng重复过滤器

c# - 在 C# 中读取制表符分隔文本文件的最佳方式是什么