【发布时间】:2011-09-02 03:45:55
【问题描述】:
目前我正在开发一个项目(JSF 2.0,RichFaces 3.3.3),我必须在其中获得一个启用多列排序的 2 列 DataTable(我已经通过 sortMode="Multi" 属性完成了此操作)但是,与单列排序不同,在多列的情况下,我不可能释放正在执行排序的一列或多列(这在单列情况下通过单击其他列标题来完成)。
排序顺序在会话期间被锁定:即使在选项卡之间切换时,我的 Web 应用程序也会保持当前的列排序设置。我需要在会话中恢复此配置以允许用户选择其他排序顺序,因为目前重置它的唯一方法是注销并重新输入。
示例:
当用户按列 A 然后按列 B (反之亦然)进行排序时,并且考虑到我也在使用 sortPriority 属性(它是要求我无法更改),当当前会话打开时,一对 AB 组合被锁定。当用户只需要按一列对 DataTable 进行排序(按 A 或 B 排序)时,在进行多列排序后不可能在同一个会话中得到它.
有没有办法实现我需要的“组合列排序发布”?
提前致谢。
更新:
我发现我的数据表中只有两个数据列,唯一的方法是通过某种方式在"Multi" 和"Single" 值之间切换sortMode 属性。这样,我可以保证在单列排序模式下,它会释放列的组合。
有没有人在运行时使用 javascript 必须为 rich:dataTable 组件属性赋值的情况成功地工作?
【问题讨论】:
标签: sorting jsf-2 richfaces multiple-columns richdatatable