Сетка Vaadin, как обернуть заголовок

Как в Vaadin 7 поместить заголовок в заголовок сетки? Прямо сейчас столбец намного шире, чем он должен быть основан на ожидаемых данных, поэтому пользователи хотят, чтобы заголовок столбца был обернут.

Я пробовал следующее:

.v-grid-column-header-content .v-grid-column-default-header-content {
    white-space: normal;
  }

но браузер даже не может увидеть это изменение, поэтому я, вероятно, использую неправильные селекторы CSS. Я пробовал довольно много разных селекторов, основываясь на том, что я вижу в браузере и в документации, и ни один из них не работает. Я знаю, что это не работает, потому что, когда я сужаю столбец, перетаскивая его, он не переносится. Когда я добавил white-space: normal; прямо в браузере, он правильно обернулся.

Кроме того, я каждый раз очищал кеш браузера, чтобы убедиться, что проблема не в нем.

Следующая проблема будет заключаться в том, чтобы автоматически сделать строку достаточно высокой, чтобы перенос имел смысл. Так что если у вас есть идеи на эту тему, пожалуйста, предлагайте их.

Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
1
0
63
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Эта функция официально не поддерживается в Vaadin 7 Grid, но в надстройке GridExtensionPack есть расширение переноса заголовков. что вы можете использовать.

Обратите внимание, что в современных версиях Vaadin, таких как 14, 23 или 24, это тривиально поддерживается.

Да, я ожидал, что Vaadin 14+ будет лучше. Во всяком случае, GridExtensionPack в основном работает. Похоже, мне нужно будет вручную установить ширину столбцов для переноса «триггера». Даже когда я принудительно пересчитываю ширину столбцов с помощью grid.recalculateColumnWidths();, столбцы не уменьшаются, чтобы вызвать перенос. Может я что-то не так делаю?

Tony B 18.04.2023 21:00

Согласно источнику, мне, возможно, не придется устанавливать ширину. Может быть, это как-то связано с загрузкой сетки с помощью container.addAll вместо grid.addRow? Также не переносится при начальной загрузке Grid, только после начальной загрузки. Странный. На данный момент отключите обтекание и ширину столбцов перед загрузкой сетки, а затем снова включите, когда закончите. Не идеально, но работает.

Tony B 19.04.2023 22:26

Я принимаю этот ответ, так как он в основном работает, но для всех, кто находит это: есть много проблем. По сути, мне нужно отключить перенос и установить ширину столбцов неопределенной перед загрузкой контейнера сетки, а затем снова включить перенос с шириной столбцов после, и даже это не работает идеально. Даже в демо, упомянутом выше, это заставляет их включать обтекание кнопкой. Поэтому я думаю, что проблема в том, что что-то нужно делать после того, как Grid полностью загрузится и отобразится на экране (НЕ прикреплен, отображается). Задам это как отдельный вопрос.

Tony B 20.04.2023 19:31

Другие вопросы по теме