Vaadin 8.2.0 Grid - 如何从多选复选框中删除标签

Vaadin 8.2.0 Grid - How to remove the labels from MultiSelection-Checkboxes

更新 #2: 事实证明我们的项目设置不是最优的,这就是为什么我不得不手动将更新后的带有主题的 VAADIN 文件夹复制到另一个位置。 问题不是vaadin引起的,而是我们的项目设置引起的。
感谢@SteffenHarbich 和 Vaadin-Devs,他们帮助我在这里和 issue ticket 中找到问题的根源。


我正在使用 Vaadin Framework 8.2.0,我有一个带有 SelectionMode.MULTI

的网格

由于 multiselection 模式,会出现一个额外的列,其中包含 select 行的复选框,很好!
但是: 这些复选框也有一个带有文本 Selects row number XX 的标签。这个标签让我非常困扰,我找不到去除它们的方法。

在 Vaadin 的 Demo 中没有这样的标签,所以我相信它可以以某种方式实现。

用 CSS 隐藏标签在这里对我没有帮助,因为列宽保持不变,就好像有标签一样。

这是我的简化代码:

Grid<MyItem> myGrid = new Grid<MyItem>(MyItem.class);

myGrid.setSelectionMode(Grid.SelectionMode.MULTI);

myGrid.getEditor().setEnabled(true);
myGrid.setColumnReorderingAllowed(true);

//all columns match membervariables of MyItem. I use setColumns in order to control which fields are shown (not all of them are)
myGrid.setColumns(GRID_COLUMNS);  

myGrid.getColumn("foo").setHidable(false).setCaption("bar");
// configure each column similarly

myGrid.getColumn("foo").setEditorComponent(new TextField());
// some more setters of editorComponents and editorBindings

// finally, set items.
// binder contains a bean that has many MyItems. binder is of type com.vaadin.data.Binder;
myGrid.setItems(binder.getBean().getMyItems());

参见 github 上的 corresponding ticket。问题是旧主题 CSS。

添加您的主题

.v-assistive-device-only-label  label {
    font-size:0;
    width: 0px; 
}