введите здесь описание изображенияКак отобразить многострочные данные в ячейке Vaadin Grid.
Пробовал с \n со строкой, но все еще отображается в одной строке.
введите здесь описание изображенияКак отобразить многострочные данные в ячейке Vaadin Grid.
Пробовал с \n со строкой, но все еще отображается в одной строке.
При добавлении столбца вместо использования ValueProvider
, который возвращает строку, вы можете использовать ComponentRenderer
и вернуть простой компонент, где вы можете самостоятельно контролировать разрыв строки
// linebreaks wont work like this
grid.addColumn(item -> "line1 \n line2");
// try this instead.
// or probable even better you could use the `Html` component from Vaadin
grid.addColumn(new ComponentRenderer<>(item -> {
Span span1 = new Span("line1");
Span span2 = new Span("line2");
return new VerticalLayout(span1, span2);
}));
Вы также можете использовать TemplateRenderer, который будет использовать меньше памяти, чем ComponentRenderer, но имеет более крутую кривую обучения (IMO).
grid.addComponentColumn(item -> {
Span span1 = new Span("line1");
Span span2 = new Span("line2");
return new Div(span1, span2);
});
вы также можете использовать это решение. оба работают нормально.