jsf - 在 Prime faces 数据表中延迟加载时,如何在分页后保留选择列表和复选框?

标签 jsf datatable primefaces pagination lazy-loading

我在素面数据表上实现了延迟加载。它工作正常,但是当页面更改时,选择会被清除。如何在页面更改时保留其他页面的选择并返回页面。 I found one related question here.

This answer帮助我保留选定的对象,但返回页面时未能保留表格中的复选框。

使用 Prime Faces 版本 6.2

最佳答案

由于 OP 不想升级到 6.2 以上,因此解决方案是此处列出的解决方法: https://forum.primefaces.org/viewtopic.php?f=3&t=47224

添加 AJAX toggleSelect 事件

<p:ajax event="toggleSelect" 
global="false" 
immediate="true"  
update=":usersManagerForm:usersTable:usersActions" 
listener="#{usersManagerBean.onToggleSelect}" />

和支持bean方法:

public void onToggleSelect(ToggleSelectEvent event) {
        List<Compte> comptesListOfCurrentPage = (List<Compte>) compteLazyDataModel.getWrappedData();
        if(event.isSelected()) {
            selectedComptesList.addAll(comptesListOfCurrentPage);
        } else {
            selectedComptesList.removeAll(comptesListOfCurrentPage);
        }
    }

关于jsf - 在 Prime faces 数据表中延迟加载时,如何在分页后保留选择列表和复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68319415/

相关文章:

jquery - 如何在 JSF 2 + RichFaces 4 中的输入字段中使用掩码?

javascript - Jquery Datatable 主题隐藏页眉/页脚 balk

sockets - 标签库支持命名空间: http://primefaces. org/ui,但未为名称定义标签:套接字

java - 为什么通知栏不起作用?

C# - 如果其他变量不为空,则仅设置变量的值

java - 在另一个 EJB 中调用一个 EJB 是否健康?

jsf - 在 Primefaces 中的不同布局单元之间拖放

jsf - RequestScoped bean 在确认对话框中被销毁

jsf - JSF 自定义复合组件与自定义经典组件有什么区别

JSF:数据更改后重新加载页面