Я пытаюсь использовать turbotable PrimeNG с нестандартным размером (500 пикселей), и я ожидал, что ширина столбцов устанавливается автоматически, но это не работает. Я получаю горизонтальную полосу прокрутки, а общая ширина кажется фиксированной и составляет 767 пикселей. Если я попытаюсь установить ширину столбца вручную, она будет проигнорирована. Если я не устанавливаю ширину таблицы и пытаюсь поместить ее в DIV шириной 500 пикселей, я все равно получаю тот же результат (горизонтальная полоса прокрутки).
Ниже приведен (очень простой) код:
<p-table #dt [value]="statusChangesData" [paginator]="true" [alwaysShowPaginator]="false" [rows]="2" [style]="{'width':'500px'}">
<ng-template pTemplate="caption" >
<div class="tableCaption">
<span translate>Status changes</span>
</div>
</ng-template>
<ng-template pTemplate="emptymessage">
<tr>
<td [attr.colspan]="3">
<span translate>There are no data into the table</span>
</td>
</tr>
</ng-template>
<ng-template pTemplate="header">
<tr>
<th style="width:200px" [pSortableColumn]="'date'"><span translate>Date</span><p-sortIcon [field]="'date'"></p-sortIcon></th>
<th style="width:200px" [pSortableColumn]="'status'"><span translate>Status</span><p-sortIcon [field]="'status'"></p-sortIcon></th>
<th style="width:100px" [pSortableColumn]="'userId'"><span translate>User ID</span><p-sortIcon [field]="'userId'"></p-sortIcon></th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-col>
<tr>
<td>{{col.date}}</td>
<td>{{col.status}}</td>
<td>{{col.userId}}</td>
</tr>
</ng-template>
</p-table>
и вот как это выглядит:
Как видите, и заголовок, и средство разбиения на страницы соблюдают установленную мной ширину (500 пикселей), а тело таблицы нет.
Я пробовал все предложения, которые могу найти в переполнении стека, включая настройку такого стиля: [style]="{'width':'200px'}
или использование [autoLayout]="true"
, но, похоже, ничего не работает. Я использую primeNG 7.0.0.
PS. Я действительно не хочу устанавливать ширину каждого столбца вручную. Мне просто не нужна горизонтальная полоса прокрутки.
position : relative; width : 50%;
, а затем установить ширину таблицы на 100%. - person Σωτήρης Ραφαήλ   schedule 13.03.2019