如何将样式应用于XPages中的Hiearchial comboBox

时间:2018-10-02 13:54:07

标签: combobox xpages ssjs

我在XPages中有一个comboBox,它在SSJS中显示类别和值的层次列表,作为向量填充。

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

enter image description here

请注意,我不需要有关样式表如何工作的课程。我需要知道如何在输出的选项标签的类别中添加类或样式

我该怎么做?

谢谢

托马斯

 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;
    }

}

enter image description here

1 个答案:

答案 0 :(得分:3)

XPages中的组合框是使用HTML select标签呈现的。如果您在optgroup中组织选项(另请参阅Populating selectItems of the combobox (label, value) using a managed bean),则可以立即使用一些默认样式。示例here

您甚至可以通过定位optgroup来使用标准CSS在其上应用其他样式。但是对此的支持是有限的:例如,它不适用于iPad。

如果您想进一步控制下拉菜单的外观,建议您使用Select2之类的插件。