2

我正在使用分层员工数据(员工、子员工)构建 vaadin select,其中最大子员工级别为 6。我想以分层方式在 select 中显示我的数据,例如:

Root Employee 1
    Subemployee 1.1
    Subemployee 1.2
    Subemployee 1.3
        Subemployee 1.3.1
        Subemployee 1.3.2
    Subemployee4
Root Employee 2
    Subemployee 2.1
        Subemployee 2.1.1

但是,当我通过在我的选择上调用 setItemCaption 添加空间时,它被删除了。我添加了“....”但是过滤无法正常工作,因为用户被迫输入“....”来查找级别 1 的子员工。我也尝试过使用“\t”、“\u0020”、“ ”,但都没有奏效。

4

2 回答 2

2

关于您的过滤问题,您是否尝试过:

setFilteringMode(FilteringMode.CONTAINS);
于 2013-03-29T12:35:56.443 回答
1

默认情况下,选定项目的 CSS 属性white-space设置nowrap为。因此,项目标题中的空格在 html 中呈现,但不显示。

解决此问题的方法是覆盖所选项目的样式:

.v-filterselect-suggestpopup-myselect .v-filterselect-suggestmenu .gwt-MenuItem{
    white-space: pre;
}

然后设置需要的样式名称来选择:

mySelect.setStyleName("myselect");

在这里,我假设您的问题是关于单选模式 ( ComboBox)。white-space: pre;您也可以对多选模式 ( )使用相同的方法 ( ) ListSelect,但您需要使用另一个匹配规则。

于 2013-03-29T04:07:03.680 回答