如何将样式应用于 XPages 中的分层组合框

How to apply a style to an hiearchial comboBox in XPages

我在 XPages 中有一个组合框,它显示类别的层次列表,并且值在 SSJS 中作为向量填充。

我现在想将样式表(粗体)应用于类别(即仅在生成的选项标签的类别上)

请注意,我不需要学习样式表的工作原理。我需要知道如何将 class 或样式添加到输出选项标签中的类别

我该怎么做?

感谢

托马斯

 UPDATED MY QUESTION WITH A WORKING CLASS

模拟一个分类视图,在组合框、类别、标签和值中有 3 列

public class Utils {

    public static List<SelectItem> getGroupedComboboxOptions() {

        try {

            Database db = ExtLibUtil.getCurrentDatabase();
            View vv = db.getView("ProdukterByCat");

            Vector v = vv.getColumnValues(0);
            List<SelectItem> groupedOptions = new ArrayList<SelectItem>();
            SelectItemGroup group;

            for (int i = 0; i < v.size(); i++) {

                List<SelectItem> options = new ArrayList<SelectItem>();
                group = new SelectItemGroup(v.get(i).toString());
                ViewEntryCollection nvec = vv.getAllEntriesByKey(v.get(i), true);
                ViewEntry entry = nvec.getFirstEntry();

                while (entry != null) {

                    SelectItem option = new SelectItem(entry.getColumnValues().get(2).toString(),entry.getColumnValues().get(1).toString());
                    options.add(option);
                    entry = nvec.getNextEntry(entry);
                }
                group.setSelectItems(options.toArray(new SelectItem[options.size()]));
                groupedOptions.add(group);
            }
            return groupedOptions;

        } catch (NotesException e) {
            e.printStackTrace();
        }
        return null;
    }

}

XPages 中的组合框是使用 HTML select 标记呈现的。如果您在 optgroup 中组织选项(另请参阅 Populating selectItems of the combobox (label, value) using a managed bean) you get some default styling out of the box. Example here

您甚至可以针对 optgroup 使用标准 CSS 在它们上应用额外的样式。但对此的支持是有限的:例如,它不适用于 iPad。

如果您想更好地控制下拉菜单的外观,我建议您使用 Select2.

这样的插件