Как увеличить высоту строки в сетке Vaadin 11.0.0? - PullRequest
0 голосов
/ 15 ноября 2018

Я хочу реализовать перенос слов в сетке в Vaadin 11. Насколько я понимаю, для этого нужно сделать две вещи:

  1. Установить стиль соответствующей ячейки.
  2. Увеличить высоту строки.

Я сделал первый шаг, используя следующий код:

productsGrid.addColumn (TemplateRenderer.of ("[[item.name]] ") .withProperty (" name ", Product :: getName)) .setHeader (" Name ");

Теперь мне нужно увеличить высоту строки.

Возможно, это можно сделатьон использует productsGrid.getElement().getStyle().set(...), но я не уверен, как его использовать.

Как я могу увеличить высоту строк в сетке Vaadin 11 (т.е. сделать строки выше, чтобы я мог отображать длинные тексты вячейки)?

Обновление 1:

Я использую следующий код для создания сетки:

private Grid<Product> createProductsGrid() {
    final Grid<Product> productsGrid = new Grid<Product>();
    productsGrid.setItems(Arrays.asList(AltFondUtilities.INSTANCE));
    productsGrid.addColumn(TemplateRenderer.<Product>of(
                    "<div style='word-wrap: break-word;'>[[item.name]]</div>")
                    .withProperty("name", Product::getName))
                    .setHeader("Название");
    productsGrid.addColumn(Product::getInterestRatePercentPerAnnum)
                    .setHeader("Ставка");
    productsGrid.addColumn(Product::getProvider).setHeader("Организация");
    productsGrid.setHeightByRows(true);
    return productsGrid;
}

Результат: Словоперенос не работает даже при правильном стиле столбца name.

Screenshot

1 Ответ

0 голосов
/ 15 ноября 2018

Из Java-примеров Grid из Vaadin 11 выясняется, что это возможно при использовании setHeightByRows

Grid<Person> grid = new Grid<>();

// When using heightByRows, all items are fetched and
// Grid uses all the space needed to render everything.
grid.setHeightByRows(true);
...