Vaadin ListSelect - 一个列表中的多个样式

时间:2013-08-27 17:35:46

标签: css vaadin

我想有一个列表选择将有多个样式,我把两种对象的一个​​是一组用户(粗体),其余是用户(斜体或常规)是否可以添加样式将被添加到添加的obj的一部分? 我的代码如下所示:

    for(Usr usr: userSearchResult){
    listSelect.addItem(usr);
    }
    listSelect.addStyleName("bold");
        for (Gr gr : groupSearchResult) {
            searchList.addItem(gr);
    }

并且在css中设置的样式与此

类似
    .v-select-bold .v-select-select {
    font-weight:bold;}

我很乐意自己解决这个问题,但那是两天前我现在在一个点;) 在此先感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

您可以将行存储为带样式的标签。在容器中将有一个标签实例。在那里你可以简单地添加样式。

    Container container = new IndexedContainer();
    container.addContainerProperty(NAME_PROPERTY, Label.class , "");

    for (int i = 0; i <= 50 ; i++) {
        Item item = container.addItem(i);
        Label label = new Label(HashUtils.getRandomSalt());
        label.addStyleName(style)
        item.getItemProperty(NAME_PROPERTY).setValue();
    }
    return container;

答案 1 :(得分:0)

您无法设置ListSelect的行的样式。您可以将Table组件与一列一起使用以获得类似的结果。 Table.setCellStyleGenerator方法用于区分每个单元格的样式(在您的情况下为每一行)。