如何在Primefaces DataTable Filter上保持会话

时间:2012-04-04 16:02:58

标签: java filter datatable primefaces refresh

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

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

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

1 个答案:

答案 0 :(得分:4)

看起来好像PrimeFaces目前不支持保存数据表的过滤器值(从PF 3.2开始)。

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

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