#java #vaadin #vaadin-grid
#java #vaadin #vaadin-grid
Вопрос:
Ситуация: Предположим, у вас простая сетка, всего с 2 столбцами. Первый столбец заморожен. Вы пытаетесь объединить 2-й столбец с дополнительным заголовком.
Проблема: после присоединения к столбцу подписи столбцов (в ячейках заголовка) всех столбцов исчезают.
Код для воспроизведения:
Grid table = new Grid();
HeaderRow header = table.addHeaderRowAt(0);
Column c1 = table.addColumn("C1", String.class);
table.setFrozenColumnCount(1);
Column d1 = table.addColumn("D1", Short.class);
c1.setHeaderCaption("Frozen col");
d1.setHeaderCaption("1/10");
header.join("D1");
table.addRow("Example name", (short)25);
Без объединения:
С помощью join:
Я делаю что-то не так или это ошибка Vaadin?
Версия Vaadin: 7.7.0
С уважением
Ответ №1:
Вам нужно объединить оба столбца:
header.join("C1", "D1");
Из .join(Object... propertyIds)
функции:
assert propertyIds.length > 1 : "You need to merge at least 2 properties";
Ответ №2:
У меня была такая же проблема (Vaadin 8.5.0). Вам не нужно вызывать header.join(...)
, когда есть только один столбец. Вместо этого получите свою ячейку заголовка, вызвав HeaderCell headerCell = headerRow.getCell("D1")
. Вы все еще можете установить компонент или текст headerCell
.