Подтвердить что ты не робот

Установите p: dataTable p: ширина столбца

Я пытаюсь установить ширину столбцов таблицы данных. Я рассмотрел этот вопрос для ответа Как установить ширину столбца p: в p: dataTable в PrimeFaces 3.0?.

Я пытаюсь сделать что-то немного другое. Я хочу, чтобы столбец был таким же широким, как и самый широкий элемент, который он отображает. Большинство моих данных - это текст.

Так, например, это не должно выглядеть так:

-----------------------------
| This is some text         |
-----------------------------

Это должно выглядеть так:

---------------------
| This is some text |
---------------------

Если существует несколько строк, coulmn должен быть таким же большим, как и самый широкий элемент.

4b9b3361

Ответ 1

Я всегда использую

<p:dataTable ........ tableStyle="width:auto">

И делает то, что я думаю, что вы ожидаете, что ваш datatable делать.

Ответ 2

Если вы хотите, чтобы ширина таблицы оставалась на 100%, используйте

tableStyle="table-layout: auto;"

Ответ 3

Maco отвечает как шарм. Тем не менее, для тех, чьи столбцы и заголовки данных становятся негласными, одним из решений является добавление стиля к каждому <p:column> с желаемым атрибутом min-width (обратите внимание, что он должен быть одинаковым для всех <p:column> для <p:dataTable>), Возможно, было бы более целесообразно определить класс стиля в вашем css и ссылаться на него с помощью атрибута styleClass в <p:column>. Таким образом, если вы решите изменить минимальную ширину, вам нужно будет только изменить ее в одном месте.

<p:column style="min-width: 100px;">
...
</p:column>

Протестировано в PF 5.3