多个复选框,使用primefaces JSF在下拉列表中进行分组

时间:2016-11-10 13:57:09

标签: primefaces jsf-2

我需要有一个必须分组的下拉列表,并且还应该能够使用primefaces使用复选框进行多选。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

在您的情况下,没有准备好使用PrimeFaces组件。最简洁的是SelectOneMenu(带分组的下拉列表,但没有复选框的单一选择)和SelectCheckboxMenu(带有多选和复选框的下拉列表,但没有分组)。

我认为没有机会定制 SelectOneMenu 以满足您的需求。但是, SelectCheckboxMenu 可以将SelectCheckboxMenuRenderer扩展为支持SelectItemGroup

背后的想法是遍历完整的层次结构,将所有 SelectItemGroups 呈现为不可选择的选项,并将所有叶SelectItems作为常规选项。具体的实施取决于你。

如果您的层次结构是平的另一种简单方法,则可以通过 SelectCheckboxMenu 来禁用 SelectItems 模仿群组。视觉上不是最好的结果,但它应该满足您的需求。 <f:selectItems /> 的示例可以是

List<SelectItem> options = Arrays.asList(
  new SelectItem("group1", "group1", "group1", true), 
  new SelectItem("option1", "option1", "option1", false),
  new SelectItem("option2", "option2", "option2", false),
  new SelectItem("group2", "group2", "group2", true),
  new SelectItem("option3", "option3", "option3", false),
  new SelectItem("option4", "option4", "option4", false)
);