【发布时间】:2018-01-15 21:19:51
【问题描述】:
我想根据条件交换 JSF h:dataTable 中的两列。例如,如果用户选择红色,则具有红色值的列首先出现。如果他选择另一种颜色,例如蓝色,则具有蓝色值的列首先出现,然后是另一个。
我玩过rendered 属性,但它不起作用。
【问题讨论】:
-
您能否展示您的 JSF 视图以及相关的
rendered属性?
我想根据条件交换 JSF h:dataTable 中的两列。例如,如果用户选择红色,则具有红色值的列首先出现。如果他选择另一种颜色,例如蓝色,则具有蓝色值的列首先出现,然后是另一个。
我玩过rendered 属性,但它不起作用。
【问题讨论】:
rendered 属性?
如果您使用 Primefaces,您可以将列绑定到服务器端的集合,以便您可以根据需要过滤和重新排列列
示例: https://www.primefaces.org/showcase/ui/data/datatable/columns.xhtml
使用纯 JSF 我认为这是不可能的,但您可以使用客户端方法,例如使用 jQuery 重新排序 <td> 元素。
【讨论】:
rendered 属性的 JSF 标记(例如 empty foo 和 not empty foo)应该可以解决问题。当提问者发布一些内容时,我可以发布完整的答案。