我需要有一个必须分组的下拉列表,并且还应该能够使用primefaces使用复选框进行多选。有人可以帮帮我吗?
答案 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)
);