Vaadin 8.2.0 Grid - Как убрать метки с MultiSelection-Checkboxes

Обновление №2: Оказалось, что настройка нашего проекта не была оптимальной, поэтому мне пришлось вручную скопировать обновленную папку VAADIN с темой в другое место. Проблема была вызвана не vaadin, а настройкой нашего проекта.
Спасибо @SteffenHarbich и разработчикам Vaadin-Dev, которые помогли мне найти источник моей проблемы здесь и в оформить заявку.


Я использую Vaadin Framework 8.2.0, и у меня есть сетка с SelectionMode.MULTI

Из-за режима множественного выбора появляется дополнительный столбец с флажками для выбора строк, это нормально!
Но: эти флажки также имеют метку с текстом Selects row number XX. Эти ярлыки меня очень беспокоят, и я не могу найти способ их убрать.

введите здесь описание изображения

В Demo от Vaadin есть таких ярлыков нет, поэтому я уверен, что это можно как-то добиться.

Скрытие меток с помощью 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());

person kscherrer    schedule 09.01.2018    source источник
comment
Пожалуйста, разместите свой код. Когда я активирую множественный выбор, новый столбец просто содержит флажок. Пользуюсь Vaadin 8.1.6.   -  person Steffen Harbich    schedule 10.01.2018
comment
@SteffenHarbich Я добавил упрощенную версию своего кода.   -  person kscherrer    schedule 10.01.2018
comment
@SteffenHarbich спасибо за ваш комментарий, я понизил версию до 8.1.6, и ярлыка больше нет, только флажок. Пишу билет прямо сейчас.   -  person kscherrer    schedule 10.01.2018
comment
Что еще более странно, я обновился до Vaadin 8.2.0, и он все еще у меня работает.   -  person Steffen Harbich    schedule 10.01.2018
comment
чего ждать?? Я официально запутался   -  person kscherrer    schedule 10.01.2018
comment
Вы пересобирали набор виджетов и темы (если вы их настраивали)?   -  person Steffen Harbich    schedule 10.01.2018
comment
в проекте есть настраиваемый набор виджетов, который наследует только набор виджетов по умолчанию. НО в моем единственном классе пользовательского интерфейса я использую @Widgetset("com.vaadin.v7.Vaadin7WidgetSet"), поскольку все еще есть некоторые компоненты совместимости. я нахожусь в процессе их рефакторинга / обновления. У меня есть vaadin-compatibility-themes как зависимость.   -  person kscherrer    schedule 10.01.2018
comment
Я вижу HTML-тег <label for="gwt-uid-49">Selects all rows of the table.</label> в исходном коде моей страницы, но он не виден (я думаю, он скрыт с помощью CSS). Вот почему я подумал, что это может быть проблема с набором виджетов / темой.   -  person Steffen Harbich    schedule 10.01.2018
comment
Я пытался скрыть это с помощью css. метки скрывались, но ширина столбца оставалась такой же широкой, как если бы она была там. Но я попробую еще раз, чтобы убедиться   -  person kscherrer    schedule 10.01.2018
comment
@SteffenHarbich спасибо за вашу помощь, я смог решить проблему. подробности см. в моем билете.   -  person kscherrer    schedule 10.01.2018


Ответы (2)


См. соответствующий запрос на github. Проблема была в старой теме CSS.

person Community    schedule 10.01.2018

Добавьте свою тему с помощью

.v-assistive-device-only-label  label {
    font-size:0;
    width: 0px; 
}
person Thomas Oltzen    schedule 17.01.2018
comment
Я не знаю почему, но соответствующее правило css .v-assistive-device-only, .v-assistive-device-only-label label {...} не создается в моем style.css, возможно, из-за использования режима совместимости или из моих ограниченных знаний. Тем не менее, я последовал вашей идее и скопировал эту часть в свой style.scss из сгенерированного style.css, который я нашел по этой ссылке demo.vaadin.com/sampler/#ui/grids-and-trees/grid/multi-select - person San Droid; 18.04.2018