RichFaces:启用多列排序模式时,释放DataTable的排序列

| 当前,我正在开发一个项目(JSF 2.0,RichFaces 3.3.3),在该项目中,我必须获得一个启用多列排序的2列DataTable(我已经通过
sortMode=\"Multi\"
属性完成了此操作),但是与单列不同对于多列的排序,我无法释放正在对其进行排序的一个或多个列(这是在单列情况下通过单击其他列标题来完成的)。 会话期间排序顺序被锁定:即使在选项卡之间切换时,我的Web应用程序仍保持当前列的排序设置。我需要在会话中还原此配置,以允许用户选择其他排序顺序,因为当前重置它的唯一方法是注销并重新输入。 例: 当用户按A列然后按B列进行排序时(反之亦然),并且考虑到我也使用
sortPriority
属性(这是我不能更改的要求)时,一对AB组合当前会话打开时被锁定。当用户只需要按一列对DataTable排序(按A或B排序)时,在进行多列排序后就不可能在同一会话中得到它。 有什么方法可以实现我所需的“组合列排序发布”吗? 提前致谢。 更新: 我发现数据表中只有两个数据列,唯一的方法是通过在
\"Multi\"
\"Single\"
值之间以某种方式切换some2ѭ属性。通过这种方式,我可以保证在单列排序模式下它将释放列的组合。 有人在运行时必须使用javascript将值分配给
rich:dataTable
组件属性的情况下成功工作过吗?     
已邀请:
查看
rich:dataTable
rich:column
sortBy
sortOrder
属性。通过在ѭ9上设置
sortOrder=\"UNSORTED\"
,应清除该列的排序。您也可以在
rich:dataTable
本身上设置
sortOrder=\"UNSORTED\"
和/或
sortBy=\"\"
,以获得更简单的解决方案(尽管我还没有尝试过)。您可以在JavaScript
onLoad
函数或具有绑定到其属性的属性的Bean中执行此操作。 希望这应该比必须和
sortMode
玩起来更优雅:)     

要回复问题请先登录注册