使用StandardSetController进行Visualforce分页 - 如何在页面中保持已检查的值

时间:2013-03-04 06:06:43

标签: checkbox pagination apex-code visualforce

我已经使用standardSetController来实现分页和包装来处理选定的记录。

一切正常,直到我尝试在不同的记录页面上保留复选框状态。 假设,第1页上检查的记录很少,并且单击了下一个按钮。单击的上一个按钮返回到页面#1。 之前检查过的记录未经检查。

任何人都可以让我知道如何跨页面持久检查值。

提前致谢。

1 个答案:

答案 0 :(得分:1)

我已通过以下方式解决了这个问题:

  • 创建Set<Id> selectedRecordIds
  • 在每个nextPage,prevPage,lastPage等上以及您执行的每个操作 该集合首先使用当前页面更新selectedIds集合 isSelected values(如果是,请不要忘记删除未选择的项目 他们在Id的集合中)
  • 加载新的记录页面时,在get方法循环中 它们根据是否设置(或取消设置)它们的isSelected值 不是它们出现在selectedRecordIds集中。