【问题标题】:Swapping two columns in h:dataTable based on condition根据条件交换 h:dataTable 中的两列
【发布时间】:2018-01-15 21:19:51
【问题描述】:

我想根据条件交换 JSF h:dataTable 中的两列。例如,如果用户选择红色,则具有红色值的列首先出现。如果他选择另一种颜色,例如蓝色,则具有蓝色值的列首先出现,然后是另一个。

我玩过rendered 属性,但它不起作用。

【问题讨论】:

  • 您能否展示您的 JSF 视图以及相关的 rendered 属性?

标签: jsf jsf-2 datatable


【解决方案1】:

如果您使用 Primefaces,您可以将列绑定到服务器端的集合,以便您可以根据需要过滤和重新排列列

示例: https://www.primefaces.org/showcase/ui/data/datatable/columns.xhtml

使用纯 JSF 我认为这是不可能的,但您可以使用客户端方法,例如使用 jQuery 重新排序 <td> 元素。

【讨论】:

  • 严格来说,在标签和问题文本中都没有询问 Primefaces。只请求了 JSF2.x。
  • 我不鼓励使用纯 HTML/jQuery,一些具有相反 rendered 属性的 JSF 标记(例如 empty foonot empty foo)应该可以解决问题。当提问者发布一些内容时,我可以发布完整的答案。
  • 或使用 c:foreach 和支持订单的模型
猜你喜欢
  • 2020-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-21
  • 2021-12-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多