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

3
更新 #2:事实证明,我们的项目设置不够优化,这就是为什么我不得不手动将更新的VAADIN文件夹与主题复制到另一个位置的原因。问题不是由Vaadin引起的,而是由我们的项目设置引起的。
感谢@SteffenHarbich和Vaadin-Devs在问题票中帮助我找到了问题的源头。
我正在使用Vaadin Framework 8.2.0,我的Grid选择模式为MULTI。
由于多选模式,会出现一个带有复选框的附加列以选择行,这很好!
但是:这些复选框还带有文本标签“Selects row number XX”,这个标签让我非常困扰,我找不到删除它们的方法。

enter image description here

在 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());

请发布您的代码。当我激活多选时,新列只包含复选框。我正在使用Vaadin 8.1.6。 - Steffen Harbich
@SteffenHarbich 我添加了我的代码的简化版本。 - kscherrer
更奇怪的是,我升级到 Vaadin 8.2.0,它仍然可以正常工作。 - Steffen Harbich
1
等等..什么??我正式困惑了。 - kscherrer
@SteffenHarbich 谢谢您的帮助,我已经解决了这个问题。请查看我的工单获取详细信息。 - kscherrer
显示剩余5条评论
2个回答

2

1
添加你的主题:

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

我不知道为什么相关的CSS规则“.v-assistive-device-only,.v-assistive-device-only-label label {...}”没有生成到我的style.css中,可能是因为使用了兼容模式或者我的知识有限。尽管如此,我按照您的建议将这部分从https://demo.vaadin.com/sampler/#ui/grids-and-trees/grid/multi-select生成的style.css中复制粘贴到我的style.scss中。 - San Droid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接